From 3f948032b0eaaa8c6ca78b6bbbe18103e805485c Mon Sep 17 00:00:00 2001 From: Saufi Date: Wed, 24 Jun 2026 20:02:31 +0800 Subject: [PATCH] mariadb --- DEPLOYMENT.md | 4 +++- docker-compose.yml | 11 +++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md index f0df449..06f754d 100644 --- a/DEPLOYMENT.md +++ b/DEPLOYMENT.md @@ -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**. diff --git a/docker-compose.yml b/docker-compose.yml index 9dcdcdc..096d87e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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