119 lines
3 KiB
YAML
119 lines
3 KiB
YAML
services:
|
|
postfix:
|
|
image: boky/postfix
|
|
restart: unless-stopped
|
|
container_name: cmc-prod-postfix
|
|
env_file:
|
|
- .env.prod
|
|
# Production: relay to Gmail SMTP
|
|
environment:
|
|
- ALLOWED_SENDER_DOMAINS=cmctechnologies.com.au
|
|
# Gmail SMTP relay settings
|
|
- RELAYHOST=smtp-relay.gmail.com
|
|
- RELAYHOST_PORT=587
|
|
# SMTP_USERNAME and SMTP_PASSWORD are loaded from .env.prod via env_file
|
|
- SMTP_TLS_SECURITY_LEVEL=encrypt
|
|
- SMTP_USE_TLS=yes
|
|
- SMTP_USE_STARTTLS=yes
|
|
# --- Mailpit relay (for testing only) ---
|
|
# - RELAYHOST=mailpit:1025
|
|
networks:
|
|
- cmc-prod-network
|
|
nginx:
|
|
image: nginx:latest
|
|
container_name: cmc-prod-nginx
|
|
hostname: nginx-prod
|
|
ports:
|
|
- "8080:80" # Production nginx on port 8080 to avoid conflict
|
|
volumes:
|
|
- ./conf/nginx-site.prod.conf:/etc/nginx/conf.d/cmc.conf
|
|
- ./userpasswd:/etc/nginx/userpasswd:ro
|
|
depends_on:
|
|
- cmc-prod-php
|
|
restart: unless-stopped
|
|
networks:
|
|
- cmc-prod-network
|
|
|
|
cmc-prod-php:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.prod.php
|
|
container_name: cmc-prod-php
|
|
environment:
|
|
MAIL_HOST: postfix
|
|
MAIL_PORT: 25
|
|
DB_HOST: cmc-prod-db
|
|
DB_PORT: 3306
|
|
DB_USER: cmc
|
|
DB_PASSWORD: xVRQI&cA?7AU=hqJ!%au
|
|
DB_NAME: cmc
|
|
GO_APP_HOST: cmc-prod-go:8082
|
|
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
|
|
- /home/cmc/files/emails:/var/www/emails
|
|
- /home/cmc/files/vault:/var/www/vault
|
|
- /home/cmc/files/vaultmsgs:/var/www/vaultmsgs
|
|
- ./userpasswd:/etc/nginx/userpasswd:ro
|
|
networks:
|
|
- cmc-prod-network
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- cmc-prod-db
|
|
|
|
cmc-prod-go:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.prod.go
|
|
container_name: cmc-prod-go
|
|
environment:
|
|
DB_HOST: cmc-prod-db
|
|
DB_PORT: 3306
|
|
DB_USER: cmc
|
|
DB_PASSWORD: xVRQI&cA?7AU=hqJ!%au
|
|
DB_NAME: cmc
|
|
PORT: 8082
|
|
SMTP_HOST: postfix
|
|
SMTP_PORT: 25
|
|
SMTP_USER: ""
|
|
SMTP_PASS: ""
|
|
SMTP_FROM: "sales@cmctechnologies.com.au"
|
|
ports:
|
|
- "8083:8082"
|
|
volumes:
|
|
- /home/cmc/files/pdf:/root/webroot/pdf:ro
|
|
- /home/cmc/files/attachments_files:/root/webroot/attachments_files
|
|
- /home/cmc/files/emails:/var/www/emails
|
|
- /home/cmc/files/vault:/var/www/vault
|
|
- /home/cmc/files/vaultmsgs:/var/www/vaultmsgs
|
|
networks:
|
|
- cmc-prod-network
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- cmc-prod-db
|
|
|
|
cmc-prod-db:
|
|
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:
|
|
- "3307:3306"
|
|
networks:
|
|
- cmc-prod-network
|
|
|
|
networks:
|
|
cmc-stg-network:
|
|
|
|
cmc-prod-network:
|
|
|
|
volumes:
|
|
db_data:
|