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.
|
DB_HOST=mysql
|
||||||
# XAMPP lokal tetap jalan tanpa file ini karena koneksi punya fallback localhost/root.
|
DB_PORT=3306
|
||||||
|
DB_USER=webgis
|
||||||
|
DB_PASSWORD=change-this-password
|
||||||
|
|
||||||
# Umum untuk semua project PHP:
|
DB_NAME_GIS_SPBU=gis_spbu
|
||||||
DB_HOST=nama-service-database
|
DB_NAME_DATA_JALAN=data_jalan
|
||||||
DB_USER=nama-user-database
|
DB_NAME_WEBGIS=webgis
|
||||||
DB_PASSWORD=nama-password-database
|
DB_NAME_KEMISKINAN=webgisuas
|
||||||
# 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
|
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
$host = getenv('DB_HOST') ?: 'localhost';
|
$host = getenv('DB_HOST') ?: 'localhost';
|
||||||
|
$port = (int)(getenv('DB_PORT') ?: 3306);
|
||||||
$user = getenv('DB_USER') ?: 'root';
|
$user = getenv('DB_USER') ?: 'root';
|
||||||
$pass = getenv('DB_PASSWORD');
|
$pass = getenv('DB_PASSWORD');
|
||||||
if ($pass === false || $pass === '') {
|
if ($pass === false || $pass === '') {
|
||||||
@@ -7,7 +8,7 @@ if ($pass === false || $pass === '') {
|
|||||||
}
|
}
|
||||||
$db = getenv('DB_NAME_GIS_SPBU') ?: 'gis_spbu';
|
$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) {
|
if (!$conn) {
|
||||||
die("Koneksi database gagal: " . mysqli_connect_error());
|
die("Koneksi database gagal: " . mysqli_connect_error());
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
$host = getenv('DB_HOST') ?: 'localhost';
|
$host = getenv('DB_HOST') ?: 'localhost';
|
||||||
|
$port = (int)(getenv('DB_PORT') ?: 3306);
|
||||||
$user = getenv('DB_USER') ?: 'root';
|
$user = getenv('DB_USER') ?: 'root';
|
||||||
$pass = getenv('DB_PASSWORD');
|
$pass = getenv('DB_PASSWORD');
|
||||||
if ($pass === false || $pass === '') {
|
if ($pass === false || $pass === '') {
|
||||||
@@ -7,7 +8,7 @@ if ($pass === false || $pass === '') {
|
|||||||
}
|
}
|
||||||
$db = getenv('DB_NAME_DATA_JALAN') ?: 'data_jalan';
|
$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) {
|
if (!$conn) {
|
||||||
die("Koneksi database gagal: " . mysqli_connect_error());
|
die("Koneksi database gagal: " . mysqli_connect_error());
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
$host = getenv('DB_HOST') ?: 'localhost';
|
$host = getenv('DB_HOST') ?: 'localhost';
|
||||||
|
$port = (int)(getenv('DB_PORT') ?: 3306);
|
||||||
$user = getenv('DB_USER') ?: 'root';
|
$user = getenv('DB_USER') ?: 'root';
|
||||||
$pass = getenv('DB_PASSWORD');
|
$pass = getenv('DB_PASSWORD');
|
||||||
if ($pass === false || $pass === '') {
|
if ($pass === false || $pass === '') {
|
||||||
@@ -7,7 +8,7 @@ if ($pass === false || $pass === '') {
|
|||||||
}
|
}
|
||||||
$db = getenv('DB_NAME_WEBGIS') ?: 'webgis';
|
$db = getenv('DB_NAME_WEBGIS') ?: 'webgis';
|
||||||
|
|
||||||
$conn = mysqli_connect($host, $user, $pass, $db);
|
$conn = mysqli_connect($host, $user, $pass, $db, $port);
|
||||||
|
|
||||||
if (!$conn) {
|
if (!$conn) {
|
||||||
die("Koneksi database gagal: " . mysqli_connect_error());
|
die("Koneksi database gagal: " . mysqli_connect_error());
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
$host = getenv('DB_HOST') ?: 'localhost';
|
$host = getenv('DB_HOST') ?: 'localhost';
|
||||||
|
$port = (int)(getenv('DB_PORT') ?: 3306);
|
||||||
$user = getenv('DB_USER') ?: 'root';
|
$user = getenv('DB_USER') ?: 'root';
|
||||||
$pass = getenv('DB_PASSWORD');
|
$pass = getenv('DB_PASSWORD');
|
||||||
if ($pass === false || $pass === '') {
|
if ($pass === false || $pass === '') {
|
||||||
@@ -7,7 +8,7 @@ if ($pass === false || $pass === '') {
|
|||||||
}
|
}
|
||||||
$db = getenv('DB_NAME_GIS_SPBU') ?: 'gis_spbu';
|
$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) {
|
if (!$conn) {
|
||||||
die("Koneksi database gagal: " . mysqli_connect_error());
|
die("Koneksi database gagal: " . mysqli_connect_error());
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
// ============================================================
|
// ============================================================
|
||||||
|
|
||||||
$dbHost = getenv('DB_HOST') ?: 'localhost';
|
$dbHost = getenv('DB_HOST') ?: 'localhost';
|
||||||
|
$dbPort = (int)(getenv('DB_PORT') ?: 3306);
|
||||||
$dbUser = getenv('DB_USER') ?: 'root';
|
$dbUser = getenv('DB_USER') ?: 'root';
|
||||||
$dbPass = getenv('DB_PASSWORD');
|
$dbPass = getenv('DB_PASSWORD');
|
||||||
if ($dbPass === false || $dbPass === '') {
|
if ($dbPass === false || $dbPass === '') {
|
||||||
@@ -12,6 +13,7 @@ if ($dbPass === false || $dbPass === '') {
|
|||||||
$dbName = getenv('DB_NAME_KEMISKINAN') ?: 'webgisuas';
|
$dbName = getenv('DB_NAME_KEMISKINAN') ?: 'webgisuas';
|
||||||
|
|
||||||
define('DB_HOST', $dbHost);
|
define('DB_HOST', $dbHost);
|
||||||
|
define('DB_PORT', $dbPort);
|
||||||
define('DB_USER', $dbUser);
|
define('DB_USER', $dbUser);
|
||||||
define('DB_PASS', $dbPass);
|
define('DB_PASS', $dbPass);
|
||||||
define('DB_NAME', $dbName);
|
define('DB_NAME', $dbName);
|
||||||
@@ -21,7 +23,7 @@ define('UPLOAD_DIR', __DIR__ . '/uploads/');
|
|||||||
define('UPLOAD_URL', 'uploads/');
|
define('UPLOAD_URL', 'uploads/');
|
||||||
|
|
||||||
// -- Database
|
// -- 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');
|
$conn->set_charset('utf8mb4');
|
||||||
|
|
||||||
if ($conn->connect_error) {
|
if ($conn->connect_error) {
|
||||||
|
|||||||
@@ -1,2 +1,33 @@
|
|||||||
# WebGIS_Project
|
# 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