services: nginx: image: nginx:latest hostname: nginx ports: - "80:80" # CakePHP app (cmclocal) volumes: - ./conf/nginx-site.conf:/etc/nginx/conf.d/cmc.conf - ./userpasswd:/etc/nginx/userpasswd:ro depends_on: cmc-php: condition: service_started cmc-go: condition: service_started restart: unless-stopped networks: - cmc-network cmc-php: build: context: . dockerfile: Dockerfile.local.php platform: linux/amd64 container_name: cmc-php environment: GO_APP_HOST: cmc-go:8080 GO_BASE_URL: http://cmc-go:8080 depends_on: - db volumes: - ./files/pdf:/var/www/cmc-sales/app/webroot/pdf - ./files/attachments_files:/var/www/cmc-sales/app/webroot/attachments_files networks: - cmc-network restart: unless-stopped db: image: mariadb:latest container_name: cmc-db environment: MYSQL_ROOT_PASSWORD: secureRootPassword MYSQL_DATABASE: cmc MYSQL_USER: cmc MYSQL_PASSWORD: xVRQI&cA?7AU=hqJ!%au volumes: - db_data:/var/lib/mysql ports: - "3306:3306" networks: - cmc-network cmc-go: build: context: . dockerfile: Dockerfile.local.go container_name: cmc-go environment: DB_HOST: db DB_PORT: 3306 DB_USER: cmc DB_PASSWORD: xVRQI&cA?7AU=hqJ!%au DB_NAME: cmc PORT: 8080 PDF_OUTPUT_DIR: /var/www/cmc-sales/app/webroot/pdf ATTACHMENTS_DIR: /var/www/cmc-sales/app/webroot/attachments_files depends_on: db: condition: service_started ports: - "8080:8080" volumes: - ./go:/app - ./go/.air.toml:/root/.air.toml - ./go/.env.example:/root/.env - ./files/pdf:/var/www/cmc-sales/app/webroot/pdf - ./files/attachments_files:/var/www/cmc-sales/app/webroot/attachments_files networks: - cmc-network restart: unless-stopped volumes: db_data: networks: cmc-network: