version: '3.8' networks: webapp: services: nginx: image: nginx:stable-alpine container_name: ${APP_NAME}_nginx ports: - "8000:80" links: - php volumes: - ./:/var/www # - ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf:rw - ./docker/logs/nginx:/var/logs/nginx:rw depends_on: - php - database networks: - webapp php: build: context: . dockerfile: Dockerfile container_name: oc_php environment: - CONTAINER_ROLE=app volumes: - ./:/var/www ports: - "9001:9000" networks: - webapp links: - database depends_on: database: condition: service_healthy env_file: .env # Database Server database: image: mysql:8.0 container_name: ${APP_NAME}_database ports: - "3306:3306" command: --max_allowed_packet=32505856 # Set max_allowed_packet to 256M (or any other value) environment: - MYSQL_DATABASE=oc - MYSQL_USER=oc - MYSQL_PASSWORD=oc - MYSQL_ROOT_PASSWORD=oc - DB_HOST=host.docker.internal volumes: - db-data:/var/lib/mysql:delegated healthcheck: test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] timeout: 5s retries: 10 volumes: db-data: ~