cmc-sales/docker-compose.stg.yml

89 lines
2 KiB
YAML

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: