Prepare WebGIS project for Docker deployment
This commit is contained in:
@@ -0,0 +1,13 @@
|
|||||||
|
.git
|
||||||
|
.gitignore
|
||||||
|
.codex
|
||||||
|
.agents
|
||||||
|
*.rar
|
||||||
|
*.zip
|
||||||
|
*.7z
|
||||||
|
*.tar
|
||||||
|
*.gz
|
||||||
|
node_modules
|
||||||
|
vendor
|
||||||
|
*.log
|
||||||
|
Thumbs.db
|
||||||
+4
-1
@@ -1,7 +1,8 @@
|
|||||||
FROM php:8.2-apache
|
FROM php:8.2-apache
|
||||||
|
|
||||||
RUN docker-php-ext-install mysqli pdo pdo_mysql \
|
RUN docker-php-ext-install mysqli pdo pdo_mysql \
|
||||||
&& a2enmod rewrite
|
&& a2enmod rewrite \
|
||||||
|
&& echo "ServerName localhost" >> /etc/apache2/apache2.conf
|
||||||
|
|
||||||
COPY . /var/www/html/
|
COPY . /var/www/html/
|
||||||
|
|
||||||
@@ -12,3 +13,5 @@ RUN mkdir -p \
|
|||||||
/var/www/html/webgis-v3/uploads/bukti_bantuan \
|
/var/www/html/webgis-v3/uploads/bukti_bantuan \
|
||||||
/var/www/html/webgis-v3/uploads/foto_laporan \
|
/var/www/html/webgis-v3/uploads/foto_laporan \
|
||||||
&& chown -R www-data:www-data /var/www/html
|
&& chown -R www-data:www-data /var/www/html
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
FROM php:8.2-apache
|
||||||
|
|
||||||
|
RUN docker-php-ext-install mysqli pdo pdo_mysql \
|
||||||
|
&& a2enmod rewrite \
|
||||||
|
&& echo "ServerName localhost" >> /etc/apache2/apache2.conf
|
||||||
|
|
||||||
|
COPY . /var/www/html/
|
||||||
|
|
||||||
|
RUN mkdir -p \
|
||||||
|
/var/www/html/uploads/bukti_bantuan \
|
||||||
|
/var/www/html/uploads/foto_laporan \
|
||||||
|
&& chown -R www-data:www-data /var/www/html
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
FROM php:8.2-apache
|
||||||
|
|
||||||
|
RUN docker-php-ext-install mysqli pdo pdo_mysql \
|
||||||
|
&& a2enmod rewrite \
|
||||||
|
&& echo "ServerName localhost" >> /etc/apache2/apache2.conf
|
||||||
|
|
||||||
|
COPY . /var/www/html/
|
||||||
|
|
||||||
|
RUN chown -R www-data:www-data /var/www/html
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
+29
-6
@@ -1,13 +1,36 @@
|
|||||||
<?php
|
<?php
|
||||||
$host = getenv('DB_HOST') ?: '127.0.0.1';
|
mysqli_report(MYSQLI_REPORT_OFF);
|
||||||
$user = getenv('DB_USER') ?: 'root';
|
|
||||||
$pass = getenv('DB_PASSWORD') !== false ? getenv('DB_PASSWORD') : '';
|
|
||||||
$db = getenv('DB_NAME') ?: 'db_spbu';
|
|
||||||
|
|
||||||
$conn = mysqli_connect($host, $user, $pass, $db);
|
function env_first(array $keys, $default = '') {
|
||||||
|
foreach ($keys as $key) {
|
||||||
|
$value = getenv($key);
|
||||||
|
if ($value !== false && $value !== '') return $value;
|
||||||
|
}
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
$hosts = array_filter(array_unique([
|
||||||
|
env_first(['DB_HOST', 'MYSQL_HOST', 'MARIADB_HOST']),
|
||||||
|
'mysql',
|
||||||
|
'mariadb',
|
||||||
|
'db',
|
||||||
|
'database',
|
||||||
|
'host.docker.internal',
|
||||||
|
'127.0.0.1',
|
||||||
|
]));
|
||||||
|
|
||||||
|
$user = env_first(['DB_USER', 'MYSQL_USER', 'MARIADB_USER'], 'root');
|
||||||
|
$pass = env_first(['DB_PASSWORD', 'MYSQL_PASSWORD', 'MARIADB_PASSWORD'], '');
|
||||||
|
$db = env_first(['SPBU_DB_NAME', 'DB_NAME_SPBU', 'DB_NAME', 'MYSQL_DATABASE', 'MARIADB_DATABASE'], 'db_spbu');
|
||||||
|
|
||||||
|
$conn = false;
|
||||||
|
foreach ($hosts as $host) {
|
||||||
|
$conn = mysqli_connect($host, $user, $pass, $db);
|
||||||
|
if ($conn) break;
|
||||||
|
}
|
||||||
|
|
||||||
if (!$conn) {
|
if (!$conn) {
|
||||||
die("Koneksi database gagal: " . mysqli_connect_error());
|
die("Koneksi database gagal. Pastikan MySQL service berjalan, environment DB_HOST/DB_USER/DB_PASSWORD benar, dan database '$db' sudah diimport. Error: " . mysqli_connect_error());
|
||||||
}
|
}
|
||||||
|
|
||||||
mysqli_set_charset($conn, 'utf8mb4');
|
mysqli_set_charset($conn, 'utf8mb4');
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
FROM php:8.2-apache
|
||||||
|
|
||||||
|
RUN docker-php-ext-install mysqli pdo pdo_mysql \
|
||||||
|
&& a2enmod rewrite \
|
||||||
|
&& echo "ServerName localhost" >> /etc/apache2/apache2.conf
|
||||||
|
|
||||||
|
COPY . /var/www/html/
|
||||||
|
|
||||||
|
RUN mkdir -p \
|
||||||
|
/var/www/html/uploads/jalan \
|
||||||
|
/var/www/html/uploads/parsil \
|
||||||
|
/var/www/html/uploads/jalan_rusak \
|
||||||
|
&& chown -R www-data:www-data /var/www/html
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
+29
-6
@@ -1,15 +1,38 @@
|
|||||||
<?php
|
<?php
|
||||||
$host = getenv('DB_HOST') ?: '127.0.0.1';
|
mysqli_report(MYSQLI_REPORT_OFF);
|
||||||
$user = getenv('DB_USER') ?: 'root';
|
|
||||||
$pass = getenv('DB_PASSWORD') !== false ? getenv('DB_PASSWORD') : '';
|
|
||||||
$db = getenv('DB_NAME') ?: 'webgis_db';
|
|
||||||
|
|
||||||
$conn = mysqli_connect($host, $user, $pass, $db);
|
function env_first(array $keys, $default = '') {
|
||||||
|
foreach ($keys as $key) {
|
||||||
|
$value = getenv($key);
|
||||||
|
if ($value !== false && $value !== '') return $value;
|
||||||
|
}
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
$hosts = array_filter(array_unique([
|
||||||
|
env_first(['DB_HOST', 'MYSQL_HOST', 'MARIADB_HOST']),
|
||||||
|
'mysql',
|
||||||
|
'mariadb',
|
||||||
|
'db',
|
||||||
|
'database',
|
||||||
|
'host.docker.internal',
|
||||||
|
'127.0.0.1',
|
||||||
|
]));
|
||||||
|
|
||||||
|
$user = env_first(['DB_USER', 'MYSQL_USER', 'MARIADB_USER'], 'root');
|
||||||
|
$pass = env_first(['DB_PASSWORD', 'MYSQL_PASSWORD', 'MARIADB_PASSWORD'], '');
|
||||||
|
$db = env_first(['WEBGIS02_DB_NAME', 'DB_NAME_WEBGIS02', 'DB_NAME', 'MYSQL_DATABASE', 'MARIADB_DATABASE'], 'webgis_db');
|
||||||
|
|
||||||
|
$conn = false;
|
||||||
|
foreach ($hosts as $host) {
|
||||||
|
$conn = mysqli_connect($host, $user, $pass, $db);
|
||||||
|
if ($conn) break;
|
||||||
|
}
|
||||||
|
|
||||||
if (!$conn) {
|
if (!$conn) {
|
||||||
die(json_encode([
|
die(json_encode([
|
||||||
'status' => 'error',
|
'status' => 'error',
|
||||||
'message' => 'Koneksi database gagal: ' . mysqli_connect_error()
|
'message' => "Koneksi database gagal. Pastikan MySQL service berjalan, environment DB_HOST/DB_USER/DB_PASSWORD benar, dan database '$db' sudah diimport. Error: " . mysqli_connect_error()
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
FROM php:8.2-apache
|
||||||
|
|
||||||
|
RUN docker-php-ext-install mysqli pdo pdo_mysql \
|
||||||
|
&& a2enmod rewrite \
|
||||||
|
&& echo "ServerName localhost" >> /etc/apache2/apache2.conf
|
||||||
|
|
||||||
|
COPY . /var/www/html/
|
||||||
|
|
||||||
|
RUN chown -R www-data:www-data /var/www/html
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
FROM php:8.2-apache
|
||||||
|
|
||||||
|
RUN docker-php-ext-install mysqli pdo pdo_mysql \
|
||||||
|
&& a2enmod rewrite \
|
||||||
|
&& echo "ServerName localhost" >> /etc/apache2/apache2.conf
|
||||||
|
|
||||||
|
COPY . /var/www/html/
|
||||||
|
|
||||||
|
RUN chown -R www-data:www-data /var/www/html
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
+29
-6
@@ -1,13 +1,36 @@
|
|||||||
<?php
|
<?php
|
||||||
$host = getenv('DB_HOST') ?: '127.0.0.1';
|
mysqli_report(MYSQLI_REPORT_OFF);
|
||||||
$user = getenv('DB_USER') ?: 'root';
|
|
||||||
$pass = getenv('DB_PASSWORD') !== false ? getenv('DB_PASSWORD') : '';
|
|
||||||
$db = getenv('DB_NAME') ?: 'db_spbu';
|
|
||||||
|
|
||||||
$conn = mysqli_connect($host, $user, $pass, $db);
|
function env_first(array $keys, $default = '') {
|
||||||
|
foreach ($keys as $key) {
|
||||||
|
$value = getenv($key);
|
||||||
|
if ($value !== false && $value !== '') return $value;
|
||||||
|
}
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
$hosts = array_filter(array_unique([
|
||||||
|
env_first(['DB_HOST', 'MYSQL_HOST', 'MARIADB_HOST']),
|
||||||
|
'mysql',
|
||||||
|
'mariadb',
|
||||||
|
'db',
|
||||||
|
'database',
|
||||||
|
'host.docker.internal',
|
||||||
|
'127.0.0.1',
|
||||||
|
]));
|
||||||
|
|
||||||
|
$user = env_first(['DB_USER', 'MYSQL_USER', 'MARIADB_USER'], 'root');
|
||||||
|
$pass = env_first(['DB_PASSWORD', 'MYSQL_PASSWORD', 'MARIADB_PASSWORD'], '');
|
||||||
|
$db = env_first(['SPBU_DB_NAME', 'DB_NAME_SPBU', 'DB_NAME', 'MYSQL_DATABASE', 'MARIADB_DATABASE'], 'db_spbu');
|
||||||
|
|
||||||
|
$conn = false;
|
||||||
|
foreach ($hosts as $host) {
|
||||||
|
$conn = mysqli_connect($host, $user, $pass, $db);
|
||||||
|
if ($conn) break;
|
||||||
|
}
|
||||||
|
|
||||||
if (!$conn) {
|
if (!$conn) {
|
||||||
die("Koneksi database gagal: " . mysqli_connect_error());
|
die("Koneksi database gagal. Pastikan MySQL service berjalan, environment DB_HOST/DB_USER/DB_PASSWORD benar, dan database '$db' sudah diimport. Error: " . mysqli_connect_error());
|
||||||
}
|
}
|
||||||
|
|
||||||
mysqli_set_charset($conn, 'utf8mb4');
|
mysqli_set_charset($conn, 'utf8mb4');
|
||||||
|
|||||||
Reference in New Issue
Block a user