Files
cabutan-bertuah-koipb/docker-compose.prod.yml
2026-06-24 18:30:00 +08:00

48 lines
1.6 KiB
YAML

###############################################################################
# KOIPB MAT — Docker Compose Production Override (Ubuntu Server)
#
# Penggunaan:
# docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build
#
# Perbezaan dari dev:
# • APP_ENV=production, APP_DEBUG=false → config/route/view cache
# • restart: always
# • php-dev.ini diganti dgn php-prod.ini (opcache.validate_timestamps=0)
# • Nginx dengar pada port 80
# • MySQL TIDAK dedah port ke host (akses dalaman sahaja)
###############################################################################
name: koipb
services:
mysql:
restart: always
ports: [] # jangan dedah MySQL ke host pada production
app:
restart: always
environment:
APP_ENV: production
APP_DEBUG: "false"
DB_HOST: mysql
DB_PORT: "3306"
volumes:
- ./:/var/www/html
- ./docker/php/php.ini:/usr/local/etc/php/conf.d/99-koipb.ini:ro
- ./docker/php/php-prod.ini:/usr/local/etc/php/conf.d/99-koipb-prod.ini:ro
nginx:
restart: always
ports:
- "${APP_PORT:-80}:80"
# ── Node (opsional) ────────────────────────────────────────────────────────
# UI guna CDN + CSS statik (public/css/koipb.css) — TIADA langkah build Vite.
# Service ini hanya jika anda menambah aset yang perlu di-compile.
# node-build:
# image: node:lts-alpine
# working_dir: /app
# volumes: [ ./:/app ]
# command: sh -c "npm ci && npm run build"
# profiles: [ build ]