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