mysql ewrror
This commit is contained in:
@@ -25,7 +25,7 @@ Untuk 150–200 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.
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user