Files
eCert-MBIP/docker-compose.prod.yml

58 lines
2.1 KiB
YAML

###############################################################################
# eCert MBIP — Docker Compose Production Overrides (Ubuntu Server)
#
# Penggunaan:
# docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build
#
# DB external: 172.17.200.16:3306
# Dalam .env (production): DB_HOST=172.17.200.16
#
# Perbezaan dari dev:
# • APP_ENV=production, APP_DEBUG=false
# • Storage sijil/template dalam named volume (kekal semasa redeploy)
# • php-dev.ini tidak dimuat
# • extra_hosts dibuang (IP terus boleh dicapai dari container)
###############################################################################
name: ecert
services:
# ── PHP-FPM Application (production) ──────────────────────────────────────
app:
container_name: ecert_app
restart: always
volumes:
- ./src:/var/www
- ./docker/php/php.ini:/usr/local/etc/php/conf.d/99-ecert.ini:ro
- storage_data:/var/www/storage
environment:
APP_ENV: production
APP_DEBUG: "false"
extra_hosts: [] # buang host.docker.internal, guna IP terus
# ── Nginx (production) ─────────────────────────────────────────────────────
nginx:
container_name: ecert_nginx
restart: always
volumes:
- ./src:/var/www:ro
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
- storage_data:/var/www/storage:ro
# ── Queue Worker (production) ──────────────────────────────────────────────
queue:
container_name: ecert_queue
restart: always
volumes:
- ./src:/var/www
- ./docker/php/php.ini:/usr/local/etc/php/conf.d/99-ecert.ini:ro
- storage_data:/var/www/storage
environment:
APP_ENV: production
extra_hosts: []
###############################################################################
volumes:
storage_data:
driver: local