services: nginx: image: nginx:latest hostname: nginx-stg ports: - "8081:80" # Staging nginx on different port volumes: - ./conf/nginx-site.stg.conf:/etc/nginx/conf.d/cmc.conf - ./userpasswd:/etc/nginx/userpasswd:ro depends_on: - cmc-stg-php restart: unless-stopped networks: - cmc-stg-network cmc-stg-php: build: context: . dockerfile: Dockerfile_stg container_name: cmc-stg-php depends_on: - db environment: MAIL_HOST: mailpit MAIL_PORT: 1025 volumes: - /mnt/vault/pdf:/var/www/cmc-sales/app/webroot/pdf - /mnt/vault/attachments_files:/var/www/cmc-sales/app/webroot/attachments_files - ./userpasswd:/etc/nginx/userpasswd:ro networks: - cmc-stg-network restart: unless-stopped db: image: mariadb:latest container_name: db environment: MYSQL_ROOT_PASSWORD: secureRootPassword MYSQL_DATABASE: cmc MYSQL_USER: cmc MYSQL_PASSWORD: xVRQI&cA?7AU=hqJ!%au volumes: - stg_db_data:/var/lib/mysql ports: - "3307:3306" # Staging DB on different port networks: - cmc-stg-network cmc-stg-go: build: context: . dockerfile: Dockerfile.stg.go container_name: cmc-stg-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: - "8082:8080" volumes: - /mnt/vault/emails:/app/vault/emails - /mnt/vault/vaultmsgs:/app/vault/vaultmsgs - ./go-app/.env.example:/app/.env networks: - cmc-stg-network restart: unless-stopped mailpit: image: axllent/mailpit:latest container_name: mailpit ports: - "8025:8025" # Mailpit web UI - "1025:1025" # SMTP networks: - cmc-stg-network restart: unless-stopped volumes: stg_db_data: networks: cmc-stg-network: