Configure database env for Coolify
This commit is contained in:
+8
-21
@@ -1,22 +1,9 @@
|
||||
# Copy nilai ini ke environment Coolify sesuai resource/aplikasi yang dideploy.
|
||||
# XAMPP lokal tetap jalan tanpa file ini karena koneksi punya fallback localhost/root.
|
||||
DB_HOST=mysql
|
||||
DB_PORT=3306
|
||||
DB_USER=webgis
|
||||
DB_PASSWORD=change-this-password
|
||||
|
||||
# Umum untuk semua project PHP:
|
||||
DB_HOST=nama-service-database
|
||||
DB_USER=nama-user-database
|
||||
DB_PASSWORD=nama-password-database
|
||||
# DB_PASS juga didukung sebagai fallback jika platform memakai nama ini.
|
||||
# DB_PASS=nama-password-database
|
||||
|
||||
# Pilih DB_NAME sesuai project:
|
||||
# Project 01 dan 04
|
||||
# DB_NAME=gis_spbu
|
||||
|
||||
# Project 02 endpoint aktif memakai db.php
|
||||
# DB_NAME=data_jalan
|
||||
|
||||
# Project 02 koneksi.php lama/sisa jika masih dipakai
|
||||
# DB_NAME=webgis
|
||||
|
||||
# Project 05
|
||||
# DB_NAME=webgisuas
|
||||
DB_NAME_GIS_SPBU=gis_spbu
|
||||
DB_NAME_DATA_JALAN=data_jalan
|
||||
DB_NAME_WEBGIS=webgis
|
||||
DB_NAME_KEMISKINAN=webgisuas
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
$host = getenv('DB_HOST') ?: 'localhost';
|
||||
$port = (int)(getenv('DB_PORT') ?: 3306);
|
||||
$user = getenv('DB_USER') ?: 'root';
|
||||
$pass = getenv('DB_PASSWORD');
|
||||
if ($pass === false || $pass === '') {
|
||||
@@ -7,7 +8,7 @@ if ($pass === false || $pass === '') {
|
||||
}
|
||||
$db = getenv('DB_NAME_GIS_SPBU') ?: 'gis_spbu';
|
||||
|
||||
$conn = mysqli_connect($host, $user, $pass, $db);
|
||||
$conn = mysqli_connect($host, $user, $pass, $db, $port);
|
||||
|
||||
if (!$conn) {
|
||||
die("Koneksi database gagal: " . mysqli_connect_error());
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
$host = getenv('DB_HOST') ?: 'localhost';
|
||||
$port = (int)(getenv('DB_PORT') ?: 3306);
|
||||
$user = getenv('DB_USER') ?: 'root';
|
||||
$pass = getenv('DB_PASSWORD');
|
||||
if ($pass === false || $pass === '') {
|
||||
@@ -7,7 +8,7 @@ if ($pass === false || $pass === '') {
|
||||
}
|
||||
$db = getenv('DB_NAME_DATA_JALAN') ?: 'data_jalan';
|
||||
|
||||
$conn = mysqli_connect($host, $user, $pass, $db);
|
||||
$conn = mysqli_connect($host, $user, $pass, $db, $port);
|
||||
|
||||
if (!$conn) {
|
||||
die("Koneksi database gagal: " . mysqli_connect_error());
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
$host = getenv('DB_HOST') ?: 'localhost';
|
||||
$port = (int)(getenv('DB_PORT') ?: 3306);
|
||||
$user = getenv('DB_USER') ?: 'root';
|
||||
$pass = getenv('DB_PASSWORD');
|
||||
if ($pass === false || $pass === '') {
|
||||
@@ -7,7 +8,7 @@ if ($pass === false || $pass === '') {
|
||||
}
|
||||
$db = getenv('DB_NAME_WEBGIS') ?: 'webgis';
|
||||
|
||||
$conn = mysqli_connect($host, $user, $pass, $db);
|
||||
$conn = mysqli_connect($host, $user, $pass, $db, $port);
|
||||
|
||||
if (!$conn) {
|
||||
die("Koneksi database gagal: " . mysqli_connect_error());
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
$host = getenv('DB_HOST') ?: 'localhost';
|
||||
$port = (int)(getenv('DB_PORT') ?: 3306);
|
||||
$user = getenv('DB_USER') ?: 'root';
|
||||
$pass = getenv('DB_PASSWORD');
|
||||
if ($pass === false || $pass === '') {
|
||||
@@ -7,7 +8,7 @@ if ($pass === false || $pass === '') {
|
||||
}
|
||||
$db = getenv('DB_NAME_GIS_SPBU') ?: 'gis_spbu';
|
||||
|
||||
$conn = mysqli_connect($host, $user, $pass, $db);
|
||||
$conn = mysqli_connect($host, $user, $pass, $db, $port);
|
||||
|
||||
if (!$conn) {
|
||||
die("Koneksi database gagal: " . mysqli_connect_error());
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
// ============================================================
|
||||
|
||||
$dbHost = getenv('DB_HOST') ?: 'localhost';
|
||||
$dbPort = (int)(getenv('DB_PORT') ?: 3306);
|
||||
$dbUser = getenv('DB_USER') ?: 'root';
|
||||
$dbPass = getenv('DB_PASSWORD');
|
||||
if ($dbPass === false || $dbPass === '') {
|
||||
@@ -12,6 +13,7 @@ if ($dbPass === false || $dbPass === '') {
|
||||
$dbName = getenv('DB_NAME_KEMISKINAN') ?: 'webgisuas';
|
||||
|
||||
define('DB_HOST', $dbHost);
|
||||
define('DB_PORT', $dbPort);
|
||||
define('DB_USER', $dbUser);
|
||||
define('DB_PASS', $dbPass);
|
||||
define('DB_NAME', $dbName);
|
||||
@@ -21,7 +23,7 @@ define('UPLOAD_DIR', __DIR__ . '/uploads/');
|
||||
define('UPLOAD_URL', 'uploads/');
|
||||
|
||||
// -- Database
|
||||
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
|
||||
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT);
|
||||
$conn->set_charset('utf8mb4');
|
||||
|
||||
if ($conn->connect_error) {
|
||||
|
||||
@@ -1,2 +1,33 @@
|
||||
# WebGIS_Project
|
||||
|
||||
## Konfigurasi Database Coolify
|
||||
|
||||
Project ini membaca konfigurasi database dari environment variable. Di Coolify, isi environment pada aplikasi PHP seperti contoh berikut:
|
||||
|
||||
```env
|
||||
DB_HOST=mysql
|
||||
DB_PORT=3306
|
||||
DB_USER=webgis
|
||||
DB_PASSWORD=change-this-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 Coolify, bukan `localhost`. Nama host biasanya mengikuti nama service/resource MySQL yang dibuat di Coolify.
|
||||
|
||||
Disarankan membuat user database khusus untuk aplikasi:
|
||||
|
||||
```sql
|
||||
CREATE USER 'webgis'@'%' IDENTIFIED BY 'change-this-password';
|
||||
GRANT ALL PRIVILEGES ON gis_spbu.* TO 'webgis'@'%';
|
||||
GRANT ALL PRIVILEGES ON data_jalan.* TO 'webgis'@'%';
|
||||
GRANT ALL PRIVILEGES ON webgis.* TO 'webgis'@'%';
|
||||
GRANT ALL PRIVILEGES ON webgisuas.* TO 'webgis'@'%';
|
||||
FLUSH PRIVILEGES;
|
||||
```
|
||||
|
||||
Jangan simpan password asli di repo. Simpan password hanya di Environment Variables/Secrets Coolify.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user