52 lines
1.7 KiB
Markdown
52 lines
1.7 KiB
Markdown
# WebGIS_Project
|
|
|
|
## Konfigurasi Database Coolify
|
|
|
|
Project ini bisa dideploy di Coolify dengan Docker Compose. Pilih build pack **Docker Compose**, base directory `/`, dan compose file `docker-compose.yml`.
|
|
|
|
Di Coolify, isi environment stack seperti contoh berikut:
|
|
|
|
```env
|
|
MYSQL_ROOT_PASSWORD=change-this-root-password
|
|
MYSQL_USER=webgis
|
|
MYSQL_PASSWORD=change-this-password
|
|
```
|
|
|
|
Compose akan mengisi koneksi aplikasi PHP ke service MySQL internal:
|
|
|
|
```env
|
|
DB_HOST=mysql
|
|
DB_PORT=3306
|
|
DB_USER=${MYSQL_USER}
|
|
DB_PASSWORD=${MYSQL_PASSWORD}
|
|
|
|
DB_NAME_GIS_SPBU=gis_spbu
|
|
DB_NAME_DATA_JALAN=data_jalan
|
|
DB_NAME_WEBGIS=webgis
|
|
DB_NAME_KEMISKINAN=webgisuas
|
|
```
|
|
|
|
`DB_HOST` harus memakai hostname service MySQL internal di Compose, yaitu `mysql`, bukan `localhost`.
|
|
|
|
Saat volume MySQL masih kosong, file SQL berikut otomatis dijalankan:
|
|
|
|
- `01/database_01.sql`
|
|
- `02/database_02.sql`
|
|
- `05/webgis_uas_FIXED_v2/webgis_uas_FIXED/database_LENGKAP.sql`
|
|
- `docker/mysql/init/99-grants.sh`
|
|
|
|
Script `99-grants.sh` memberi user `${MYSQL_USER}` akses tulis ke semua database project.
|
|
|
|
Jika database Coolify sudah pernah dibuat sebelum perubahan Compose ini, init script tidak berjalan ulang. Jalankan grant manual sekali lewat phpMyAdmin atau terminal MySQL:
|
|
|
|
```sql
|
|
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP ON gis_spbu.* TO 'webgis'@'%';
|
|
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP ON data_jalan.* TO 'webgis'@'%';
|
|
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP ON webgis.* TO 'webgis'@'%';
|
|
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP ON webgisuas.* TO 'webgis'@'%';
|
|
FLUSH PRIVILEGES;
|
|
```
|
|
|
|
Jangan simpan password asli di repo. Simpan password hanya di Environment Variables/Secrets Coolify.
|
|
|