services: prod_app: image: netgescon/app:${NETGESCON_VERSION:-latest} build: context: .. dockerfile: docker/Dockerfile.prod container_name: netgescon_local_prod_app restart: unless-stopped environment: APP_ENV: local APP_DEBUG: "true" APP_URL: http://localhost:8080 DB_CONNECTION: mysql DB_HOST: prod_db DB_PORT: 3306 DB_DATABASE: ${PROD_DB_DATABASE} DB_USERNAME: ${PROD_DB_USERNAME} DB_PASSWORD: ${PROD_DB_PASSWORD} RUN_MIGRATIONS: ${PROD_RUN_MIGRATIONS:-true} FIX_PERMISSIONS: "true" WAIT_FOR_DB: "true" volumes: - prod_storage:/var/www/storage - prod_cache:/var/www/bootstrap/cache - prod_public:/var/www/public depends_on: - prod_db - prod_redis networks: - netgescon_local prod_nginx: image: nginx:alpine container_name: netgescon_local_prod_nginx restart: unless-stopped ports: - "8080:80" volumes: - prod_public:/var/www/public:ro - ./nginx/prod.conf:/etc/nginx/conf.d/default.conf:ro depends_on: - prod_app networks: - netgescon_local prod_db: image: mysql:8.0 container_name: netgescon_local_prod_db restart: unless-stopped environment: MYSQL_DATABASE: ${PROD_DB_DATABASE} MYSQL_USER: ${PROD_DB_USERNAME} MYSQL_PASSWORD: ${PROD_DB_PASSWORD} MYSQL_ROOT_PASSWORD: ${PROD_DB_ROOT_PASSWORD} volumes: - prod_db:/var/lib/mysql - ./mysql/init.sql:/docker-entrypoint-initdb.d/01-init.sql:ro networks: - netgescon_local prod_redis: image: redis:alpine container_name: netgescon_local_prod_redis restart: unless-stopped volumes: - prod_redis:/data networks: - netgescon_local demo_app: image: netgescon/app:${NETGESCON_VERSION:-latest} container_name: netgescon_local_demo_app restart: unless-stopped environment: APP_ENV: local APP_DEBUG: "true" APP_URL: http://localhost:8081 DB_CONNECTION: mysql DB_HOST: demo_db DB_PORT: 3306 DB_DATABASE: ${DEMO_DB_DATABASE} DB_USERNAME: ${DEMO_DB_USERNAME} DB_PASSWORD: ${DEMO_DB_PASSWORD} RUN_MIGRATIONS: ${DEMO_RUN_MIGRATIONS:-true} FIX_PERMISSIONS: "true" WAIT_FOR_DB: "true" RUN_SEEDERS: demo volumes: - demo_storage:/var/www/storage - demo_cache:/var/www/bootstrap/cache - demo_public:/var/www/public depends_on: - demo_db - demo_redis networks: - netgescon_local demo_nginx: image: nginx:alpine container_name: netgescon_local_demo_nginx restart: unless-stopped ports: - "8081:80" volumes: - demo_public:/var/www/public:ro - ./nginx/demo.conf:/etc/nginx/conf.d/default.conf:ro depends_on: - demo_app networks: - netgescon_local demo_db: image: mysql:8.0 container_name: netgescon_local_demo_db restart: unless-stopped environment: MYSQL_DATABASE: ${DEMO_DB_DATABASE} MYSQL_USER: ${DEMO_DB_USERNAME} MYSQL_PASSWORD: ${DEMO_DB_PASSWORD} MYSQL_ROOT_PASSWORD: ${DEMO_DB_ROOT_PASSWORD} volumes: - demo_db:/var/lib/mysql - ./mysql/init.sql:/docker-entrypoint-initdb.d/01-init.sql:ro networks: - netgescon_local demo_redis: image: redis:alpine container_name: netgescon_local_demo_redis restart: unless-stopped volumes: - demo_redis:/data networks: - netgescon_local presentation_www: image: nginx:alpine container_name: netgescon_local_www restart: unless-stopped ports: - "8082:80" volumes: - ./www:/usr/share/nginx/html:ro networks: - netgescon_local volumes: prod_db: prod_storage: prod_cache: prod_public: prod_redis: demo_db: demo_storage: demo_cache: demo_public: demo_redis: networks: netgescon_local: driver: bridge