This commit is contained in:
Saufi
2026-06-24 20:02:31 +08:00
parent 87fc252651
commit 3f948032b0
2 changed files with 10 additions and 5 deletions

View File

@@ -1,6 +1,8 @@
# DEPLOYMENT.md — Sistem MAT KOIPB (Docker · Ubuntu Server)
Panduan deploy aplikasi **Kehadiran & Cabutan Bertuah MAT KOIPB** menggunakan Docker pada server Ubuntu. Stack: **Nginx + PHP 8.4-FPM (Laravel) + MySQL 8** — semua dalam container, tiada pemasangan PHP/MySQL pada host.
Panduan deploy aplikasi **Kehadiran & Cabutan Bertuah MAT KOIPB** menggunakan Docker pada server Ubuntu. Stack: **Nginx + PHP 8.4-FPM (Laravel) + MariaDB 11** — semua dalam container, tiada pemasangan PHP/DB pada host.
> **Kenapa MariaDB, bukan MySQL 8?** Imej `mysql:8` (Oracle Linux) memerlukan CPU aras **x86-64-v2** dan akan crash (`Fatal glibc error: CPU does not support x86-64-v2`) pada CPU/VM lama atau jenis CPU VM generik (`qemu64`/`kvm64`). MariaDB serasi penuh dengan Laravel (`DB_CONNECTION=mysql` kekal) dan berjalan pada CPU lama.
> UI guna CDN + CSS statik (`public/css/koipb.css`) — **tiada langkah build Node/Vite**.

View File

@@ -16,12 +16,15 @@ name: koipb
services:
# ── MySQL 8 ────────────────────────────────────────────────────────────────
# ── MariaDB 11 (LTS) ───────────────────────────────────────────────────────
# Guna MariaDB, BUKAN mysql:8 — imej mysql:8 (Oracle Linux) memerlukan CPU
# aras x86-64-v2 dan akan crash ("Fatal glibc error: CPU does not support
# x86-64-v2") pada CPU/VM lama. MariaDB serasi penuh dengan Laravel.
mysql:
image: mysql:8.0
image: mariadb:11.4
container_name: koipb_mysql
restart: unless-stopped
# Baca MYSQL_DATABASE / MYSQL_USER / MYSQL_PASSWORD / MYSQL_ROOT_PASSWORD
# MariaDB menerima nama MYSQL_DATABASE / MYSQL_USER / MYSQL_PASSWORD / MYSQL_ROOT_PASSWORD
env_file:
- .env.docker
volumes:
@@ -29,7 +32,7 @@ services:
ports:
- "127.0.0.1:3307:3306" # akses dev dari host (elak conflict dgn MySQL tempatan 3306)
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h localhost -u root -p\"$$MYSQL_ROOT_PASSWORD\" --silent"]
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 10