mysql ewrror

This commit is contained in:
Saufi
2026-06-24 19:35:22 +08:00
parent c0c3d7c09c
commit 87fc252651
5 changed files with 55 additions and 37 deletions

View File

@@ -25,7 +25,7 @@ Untuk 150200 peserta, server kecil sudah memadai.
```
/srv/koipb/
├── .env # disalin dari .env.docker.example (JANGAN commit)
├── .env.docker # disalin dari .env.docker.example (JANGAN commit)
├── .env.docker.example # templat
├── Dockerfile # imej PHP-FPM (Laravel)
├── docker-compose.yml # dev (nginx + app + mysql)
@@ -62,10 +62,12 @@ git clone <repo-url> .
### 3. Konfigurasi environment
```bash
cp .env.docker.example .env
nano .env
cp .env.docker.example .env.docker
nano .env.docker
```
> Guna nama fail **`.env.docker`** (bukan `.env`) supaya tidak berlanggar dengan `.env` tempatan untuk `php artisan serve`.
Wajib tukar:
| Pemboleh ubah | Nota |
@@ -73,11 +75,11 @@ Wajib tukar:
| `APP_KEY` | Biar kosong — entrypoint jana automatik kali pertama |
| `APP_URL` | cth `https://mat.koipb.gov.my` |
| `APP_PORT` | `80` (atau di belakang reverse proxy) |
| `DB_PASSWORD` | password user `koipb` |
| `DB_ROOT_PASSWORD` | password root MySQL container |
| `DB_PASSWORD` **dan** `MYSQL_PASSWORD` | password user `koipb`**mesti sama** |
| `MYSQL_ROOT_PASSWORD` | password root MySQL container |
| `SEED_DEMO` | `true` = isi 200 anggota + 21 hadiah contoh; `false` = data kosong (import sendiri) |
> `DB_HOST` mesti kekal `mysql` (nama service container).
> `DB_HOST`/`MYSQL_*` jangan diubah namanya. `MYSQL_USER` mesti `koipb` (BUKAN `root` — MySQL menolaknya).
### 4. Logo
@@ -89,7 +91,8 @@ cp /path/ke/logo.jpg public/images/logo-koipb.jpg
### 5. Bina & jalankan (production)
```bash
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build
docker compose --env-file .env.docker \
-f docker-compose.yml -f docker-compose.prod.yml up -d --build
```
Entrypoint akan automatik: tunggu MySQL → composer install → `key:generate``migrate --force` → seed peranan/pengguna (+ demo jika `SEED_DEMO=true`) → cache config/route/view.
@@ -134,8 +137,8 @@ docker compose exec mysql sh -c 'mysqldump -u root -p"$MYSQL_ROOT_PASSWORD" koip
cat backup.sql | docker compose exec -T mysql sh -c 'mysql -u root -p"$MYSQL_ROOT_PASSWORD" koipb_mat'
# Henti / mula semula
docker compose -f docker-compose.yml -f docker-compose.prod.yml down
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
docker compose --env-file .env.docker -f docker-compose.yml -f docker-compose.prod.yml down
docker compose --env-file .env.docker -f docker-compose.yml -f docker-compose.prod.yml up -d
```
> Data MySQL kekal dalam named volume **`koipb_db_data`** walaupun container dipadam. `docker compose down` (tanpa `-v`) **tidak** memadam data. **Jangan** guna `down -v` semasa event.
@@ -147,7 +150,7 @@ docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
```bash
cd /srv/koipb
git pull
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build
docker compose --env-file .env.docker -f docker-compose.yml -f docker-compose.prod.yml up -d --build
# Entrypoint akan migrate + cache semula automatik.
```