############################################################################### # KOIPB MAT — Docker Compose Production Override (Ubuntu Server) # # Penggunaan: # docker compose --env-file .env.docker \ # -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 - ./.env.docker:/var/www/html/.env - ./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 ]