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:
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:
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.sql02/database_02.sql05/webgis_uas_FIXED_v2/webgis_uas_FIXED/database_LENGKAP.sqldocker/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:
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.