cmc-sales/docker-compose.prod.yml

119 lines
3 KiB
YAML
Raw Permalink Normal View History

2025-09-13 05:42:31 -07:00
services:
2025-09-13 05:40:19 -07:00
postfix:
image: boky/postfix
restart: unless-stopped
container_name: cmc-prod-postfix
env_file:
- .env.prod
2025-11-20 04:26:23 -08:00
# Production: relay to Gmail SMTP
2025-09-13 05:40:19 -07:00
environment:
2025-09-15 05:03:25 -07:00
- ALLOWED_SENDER_DOMAINS=cmctechnologies.com.au
2025-11-20 04:26:23 -08:00
# Gmail SMTP relay settings
- RELAYHOST=smtp-relay.gmail.com
- RELAYHOST_PORT=587
2025-11-22 14:31:16 -08:00
# SMTP_USERNAME and SMTP_PASSWORD are loaded from .env.prod via env_file
2025-11-20 04:26:23 -08:00
- SMTP_TLS_SECURITY_LEVEL=encrypt
- SMTP_USE_TLS=yes
- SMTP_USE_STARTTLS=yes
# --- Mailpit relay (for testing only) ---
# - RELAYHOST=mailpit:1025
2025-09-14 03:55:19 -07:00
networks:
- cmc-prod-network
2025-08-22 02:38:13 -07:00
nginx:
image: nginx:latest
container_name: cmc-prod-nginx
hostname: nginx-prod
ports:
2025-08-22 03:54:50 -07:00
- "8080:80" # Production nginx on port 8080 to avoid conflict
2025-08-22 02:38:13 -07:00
volumes:
- ./conf/nginx-site.prod.conf:/etc/nginx/conf.d/cmc.conf
2025-08-22 02:38:13 -07:00
- ./userpasswd:/etc/nginx/userpasswd:ro
depends_on:
- cmc-prod-php
restart: unless-stopped
networks:
- cmc-prod-network
cmc-prod-php:
build:
context: .
2025-09-15 04:47:56 -07:00
dockerfile: Dockerfile.prod.php
2025-08-22 02:38:13 -07:00
container_name: cmc-prod-php
environment:
2025-09-13 05:40:19 -07:00
MAIL_HOST: postfix
2025-08-22 02:38:13 -07:00
MAIL_PORT: 25
2025-11-20 02:02:19 -08:00
DB_HOST: cmc-prod-db
2025-08-22 02:38:13 -07:00
DB_PORT: 3306
DB_USER: cmc
DB_PASSWORD: xVRQI&cA?7AU=hqJ!%au
DB_NAME: cmc
GO_APP_HOST: cmc-prod-go:8082
2025-08-22 02:38:13 -07:00
volumes:
- /home/cmc/files/pdf:/var/www/cmc-sales/app/webroot/pdf
- /home/cmc/files/attachments_files:/var/www/cmc-sales/app/webroot/attachments_files
2025-11-20 02:32:52 -08:00
- /home/cmc/files/emails:/var/www/emails
- /home/cmc/files/vault:/var/www/vault
- /home/cmc/files/vaultmsgs:/var/www/vaultmsgs
2025-08-22 02:38:13 -07:00
- ./userpasswd:/etc/nginx/userpasswd:ro
networks:
- cmc-prod-network
restart: unless-stopped
depends_on:
2025-11-20 02:02:19 -08:00
- cmc-prod-db
2025-08-22 02:38:13 -07:00
cmc-prod-go:
build:
context: .
dockerfile: Dockerfile.prod.go
container_name: cmc-prod-go
environment:
2025-11-20 02:02:19 -08:00
DB_HOST: cmc-prod-db
2025-08-22 02:38:13 -07:00
DB_PORT: 3306
DB_USER: cmc
DB_PASSWORD: xVRQI&cA?7AU=hqJ!%au
DB_NAME: cmc
PORT: 8082
2025-09-13 05:40:19 -07:00
SMTP_HOST: postfix
2025-08-22 02:38:13 -07:00
SMTP_PORT: 25
SMTP_USER: ""
SMTP_PASS: ""
SMTP_FROM: "sales@cmctechnologies.com.au"
ports:
2025-08-22 04:09:16 -07:00
- "8083:8082"
2025-08-22 02:38:13 -07:00
volumes:
- /home/cmc/files/pdf:/root/webroot/pdf:ro
2025-12-08 02:31:11 -08:00
- /home/cmc/files/attachments_files:/root/webroot/attachments_files
2025-11-22 15:39:57 -08:00
- /home/cmc/files/emails:/var/www/emails
- /home/cmc/files/vault:/var/www/vault
- /home/cmc/files/vaultmsgs:/var/www/vaultmsgs
2025-08-22 02:38:13 -07:00
networks:
- cmc-prod-network
restart: unless-stopped
depends_on:
2025-11-20 02:02:19 -08:00
- cmc-prod-db
2025-08-22 02:38:13 -07:00
2025-11-20 02:02:19 -08:00
cmc-prod-db:
2025-08-22 02:38:13 -07:00
build:
context: .
dockerfile: Dockerfile.prod.db
container_name: cmc-prod-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:
2025-08-22 03:54:50 -07:00
- "3307:3306"
2025-08-22 02:38:13 -07:00
networks:
- cmc-prod-network
networks:
2025-09-15 04:46:43 -07:00
cmc-stg-network:
2025-09-15 04:47:56 -07:00
2025-08-22 02:38:13 -07:00
cmc-prod-network:
volumes:
db_data: