Files

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.