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 restart: unless-stopped networks: - cmc-network cmc-php: build: context: . dockerfile: Dockerfile platform: linux/amd64 container_name: cmc-php depends_on: - db volumes: - ./app/webroot/pdf:/var/www/cmc-sales/app/webroot/pdf - ./app/webroot/attachments_files:/var/www/cmc-sales/app/webroot/attachments_files networks: - cmc-network restart: unless-stopped develop: watch: - action: rebuild path: ./app ignore: - ./app/webroot/pdf - ./app/webroot/attachments_files - ./app/tmp - action: sync path: ./app/webroot/css target: /var/www/cmc-sales/app/webroot/css - action: sync path: ./app/webroot/js target: /var/www/cmc-sales/app/webroot/js 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.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 depends_on: db: condition: service_started ports: - "8080:8080" volumes: - ./app/webroot/pdf:/root/webroot/pdf networks: - cmc-network restart: unless-stopped develop: watch: - action: rebuild path: ./go-app ignore: - ./go-app/bin - ./go-app/.env - ./go-app/tmp - "**/.*" # Ignore hidden files - action: sync path: ./go-app/templates target: /app/templates - action: sync path: ./go-app/static target: /app/static volumes: db_data: networks: cmc-network: