netgescon-day0/docker/docker-compose.node-local.yml

82 lines
2.1 KiB
YAML
Executable File

services:
app:
image: netgescon/app:${NETGESCON_VERSION:-latest}
build:
context: ..
dockerfile: docker/Dockerfile.prod
container_name: ${COMPOSE_PROJECT_NAME:-netgescon_node}_app
restart: unless-stopped
env_file:
- .env.node-local
environment:
DB_CONNECTION: mysql
DB_HOST: db
DB_PORT: 3306
REDIS_HOST: redis
REDIS_PORT: 6379
RUN_MIGRATIONS: ${RUN_MIGRATIONS:-true}
MIGRATIONS_STRICT: ${MIGRATIONS_STRICT:-true}
RUN_FILAMENT_ASSETS: ${RUN_FILAMENT_ASSETS:-false}
FIX_PERMISSIONS: ${FIX_PERMISSIONS:-true}
WAIT_FOR_DB: ${WAIT_FOR_DB:-true}
DISABLE_SCHEMA_LOAD: ${DISABLE_SCHEMA_LOAD:-true}
volumes:
- node_storage:/var/www/storage
- node_cache:/var/www/bootstrap/cache
- node_public:/var/www/public
- ${LEGACY_ARCHIVES_PATH:-/opt/netgescon/legacy-archives}:/mnt/gescon-archives/gescon:ro
depends_on:
- db
- redis
networks:
- netgescon_node_local
nginx:
image: nginx:alpine
container_name: ${COMPOSE_PROJECT_NAME:-netgescon_node}_nginx
restart: unless-stopped
ports:
- "${NODE_HTTP_PORT:-8080}:80"
volumes:
- node_public:/var/www/public:ro
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- app
networks:
- netgescon_node_local
db:
image: mysql:8.0
container_name: ${COMPOSE_PROJECT_NAME:-netgescon_node}_db
restart: unless-stopped
command: --log-bin-trust-function-creators=1
environment:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
volumes:
- node_db:/var/lib/mysql
networks:
- netgescon_node_local
redis:
image: redis:alpine
container_name: ${COMPOSE_PROJECT_NAME:-netgescon_node}_redis
restart: unless-stopped
volumes:
- node_redis:/data
networks:
- netgescon_node_local
volumes:
node_db:
node_storage:
node_cache:
node_public:
node_redis:
networks:
netgescon_node_local:
driver: bridge