# 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.