Aplikasi kehadiran KTM ambil peti undi (SPR 2026)
Sistem untuk admin DUN merekod waktu KTM (Ketua Tempat Mengundi) hadir mengambil peti undi. Data KTM dibaca daripada DB sppm (spr2026) melalui connection kedua — hanya penempatan berjawatan KTM yang dipaparkan. - Dashboard: senarai KTM ikut pusat mengundi (asc) & saluran (asc), status BELUM HADIR (merah) / HADIR (hijau) + tarikh & masa - Carian nama/no. KP, tapisan pusat mengundi & status - Tanda hadir / batal dengan kawalan DUN (admin terhad ke DUN sendiri) - Eksport Excel (worksheet Hadir & Belum Hadir) guna SimpleXlsx - Peranan: superadmin (urus pengguna, semua DUN) & admin DUN - Docker: nginx + php-fpm + queue + scheduler + webhook deploy, port 127.0.0.1:8009, TZ Asia/Kuala_Lumpur di semua container - Zon waktu aplikasi: Asia/Kuala_Lumpur (APP_TIMEZONE) Berasaskan scaffold spr2026_taklimat. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
31
deploy.sh
Normal file
31
deploy.sh
Normal file
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
# Kehadiran KTM SPR — Production Deploy Script
|
||||
# Dipanggil oleh container webhook selepas git push ke GitHub (branch main).
|
||||
set -e
|
||||
|
||||
PROJECT_DIR="/srv/spr2026_ktm"
|
||||
LOG="$PROJECT_DIR/deploy.log"
|
||||
|
||||
log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG"; }
|
||||
|
||||
log "=== Deploy dimulakan ==="
|
||||
|
||||
cd "$PROJECT_DIR"
|
||||
|
||||
# git jalan sebagai root dlm container; repo milik user host -> elak "dubious ownership".
|
||||
git config --global --add safe.directory "$PROJECT_DIR"
|
||||
|
||||
log "git pull..."
|
||||
git pull origin main
|
||||
|
||||
# Kod di-bake dalam image (bukan bind-mount) -> perlu build semula.
|
||||
# Hanya service aplikasi yg di-recreate; container 'webhook' SENGAJA tidak
|
||||
# disenaraikan supaya ia tidak bunuh dirinya sendiri di tengah deploy.
|
||||
# Entrypoint app jalankan migrate + config/route/view:cache automatik masa boot.
|
||||
log "build & recreate (app, web, queue, scheduler)..."
|
||||
docker compose up -d --build --force-recreate app web queue scheduler
|
||||
|
||||
log "buang image lama yg tidak digunakan..."
|
||||
docker image prune -f
|
||||
|
||||
log "=== Deploy selesai ==="
|
||||
Reference in New Issue
Block a user