perbaikan struktur compose

This commit is contained in:
Nama Kamu
2026-06-12 13:25:38 +07:00
parent e60ef1a87c
commit 929e06eddc
8 changed files with 86 additions and 51 deletions
+5 -4
View File
@@ -1,10 +1,11 @@
<?php
$host = getenv('DB_HOST') ?: 'db';
$user = getenv('DB_USER') ?: 'root';
$pass = getenv('DB_PASSWORD') ?: 'rootpassword';
$db = getenv('DB_NAME') ?: 'uas_06';
$port = getenv('DB_PORT') ?: 3306;
$user = getenv('DB_USERNAME') ?: 'webgis_user';
$pass = getenv('DB_PASSWORD') ?: 'webgis_password';
$db = getenv('DB_DATABASE') ?: 'webgis_spbu';
$conn = @mysqli_connect($host, $user, $pass, $db);
$conn = @mysqli_connect($host, $user, $pass, $db, $port);
if (!$conn) {
header('Content-Type: application/json');
+5 -4
View File
@@ -1,8 +1,9 @@
<?php
$host = getenv('DB_HOST') ?: 'db';
$user = getenv('DB_USER') ?: 'root';
$pass = getenv('DB_PASSWORD') ?: 'rootpassword';
$db = getenv('DB_NAME') ?: 'uas_06';
$port = getenv('DB_PORT') ?: 3306;
$user = getenv('DB_USERNAME') ?: 'webgis_user';
$pass = getenv('DB_PASSWORD') ?: 'webgis_password';
$db = getenv('DB_DATABASE') ?: 'webgis_spbu';
$conn = @mysqli_connect($host, $user, $pass, $db);
$conn = @mysqli_connect($host, $user, $pass, $db, $port);
+5 -4
View File
@@ -1,10 +1,11 @@
<?php
$host = getenv('DB_HOST') ?: 'db';
$user = getenv('DB_USER') ?: 'root';
$pass = getenv('DB_PASSWORD') ?: 'rootpassword';
$db = getenv('DB_NAME') ?: 'uas_06';
$port = getenv('DB_PORT') ?: 3306;
$user = getenv('DB_USERNAME') ?: 'webgis_user';
$pass = getenv('DB_PASSWORD') ?: 'webgis_password';
$db = getenv('DB_DATABASE') ?: 'webgis_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());
+5 -4
View File
@@ -3,11 +3,12 @@
// koneksi.php Database uas_06
// ============================================================
$host = getenv('DB_HOST') ?: 'db';
$user = getenv('DB_USER') ?: 'root';
$pass = getenv('DB_PASSWORD') ?: 'rootpassword';
$db = getenv('DB_NAME') ?: 'uas_06';
$port = getenv('DB_PORT') ?: 3306;
$user = getenv('DB_USERNAME') ?: 'webgis_user';
$pass = getenv('DB_PASSWORD') ?: 'webgis_password';
$db = getenv('DB_DATABASE') ?: 'webgis_spbu';
$conn = @mysqli_connect($host, $user, $pass, $db);
$conn = @mysqli_connect($host, $user, $pass, $db, $port);
if (!$conn) {
http_response_code(500);
+3 -7
View File
@@ -1,13 +1,9 @@
FROM php:8.2-apache
RUN docker-php-ext-install mysqli pdo pdo_mysql \
&& a2enmod rewrite
WORKDIR /var/www/html
RUN docker-php-ext-install mysqli
COPY . /var/www/html/
RUN mkdir -p /var/www/html/05/uploads/bukti \
&& chown -R www-data:www-data /var/www/html
RUN chown -R www-data:www-data /var/www/html
CMD ["apache2-foreground"]
EXPOSE 80
+2
View File
@@ -0,0 +1,2 @@
FROM mysql:8.4
COPY ./migrations /docker-entrypoint-initdb.d/
+60 -25
View File
@@ -1,37 +1,72 @@
services:
app:
build: .
ports:
build:
context: .
dockerfile: Dockerfile
expose:
- "80"
environment:
# Koneksi database menunjuk ke container 'db'
- DB_HOST=db
- DB_USER=root
- DB_PASSWORD=rootpassword
# Nama database utama
- DB_NAME=uas_06
DB_HOST: db
DB_PORT: 3306
DB_DATABASE: webgis_spbu
DB_USERNAME: webgis_user
DB_PASSWORD: webgis_password
depends_on:
db:
condition: service_healthy
restart: always
migrate:
condition: service_completed_successfully
restart: unless-stopped
db:
image: mysql:8.0
build:
context: .
dockerfile: Dockerfile.db
image: webgis-db
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
- MYSQL_DATABASE=uas_06
ports:
MYSQL_DATABASE: webgis_spbu
MYSQL_USER: webgis_user
MYSQL_PASSWORD: webgis_password
MYSQL_ROOT_PASSWORD: root_password
expose:
- "3306"
volumes:
- db_data:/var/lib/mysql
# Auto-import database terpadu
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
restart: always
- webgis_db_data:/var/lib/mysql
restart: unless-stopped
migrate:
build:
context: .
dockerfile: Dockerfile.db
image: webgis-db
environment:
MYSQL_PWD: root_password
depends_on:
- db
command: >
sh -c "
until mysqladmin ping -h db -uroot --password=$$MYSQL_PWD --silent 2>/dev/null; do
echo 'Waiting for database...';
sleep 2;
done;
sleep 3;
echo 'mysqld is alive';
for file in /docker-entrypoint-initdb.d/*.sql; do
echo \"Running $$file\";
mysql -h db -uroot --password=$$MYSQL_PWD < $$file || exit 1;
done;
echo 'All migrations done.';
"
restart: "no"
phpmyadmin:
image: phpmyadmin:latest
expose:
- "80"
environment:
PMA_HOST: db
PMA_PORT: 3306
depends_on:
- db
restart: unless-stopped
volumes:
db_data:
webgis_db_data:
+1 -3
View File
@@ -1,6 +1,4 @@
CREATE DATABASE IF NOT EXISTS `uas_06` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE `uas_06`;

-- ============================================================
-- Bawaan 05
-- ============================================================