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 <?php
$host = getenv('DB_HOST') ?: 'db'; $host = getenv('DB_HOST') ?: 'db';
$user = getenv('DB_USER') ?: 'root'; $port = getenv('DB_PORT') ?: 3306;
$pass = getenv('DB_PASSWORD') ?: 'rootpassword'; $user = getenv('DB_USERNAME') ?: 'webgis_user';
$db = getenv('DB_NAME') ?: 'uas_06'; $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) { if (!$conn) {
header('Content-Type: application/json'); header('Content-Type: application/json');
+5 -4
View File
@@ -1,8 +1,9 @@
<?php <?php
$host = getenv('DB_HOST') ?: 'db'; $host = getenv('DB_HOST') ?: 'db';
$user = getenv('DB_USER') ?: 'root'; $port = getenv('DB_PORT') ?: 3306;
$pass = getenv('DB_PASSWORD') ?: 'rootpassword'; $user = getenv('DB_USERNAME') ?: 'webgis_user';
$db = getenv('DB_NAME') ?: 'uas_06'; $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 <?php
$host = getenv('DB_HOST') ?: 'db'; $host = getenv('DB_HOST') ?: 'db';
$user = getenv('DB_USER') ?: 'root'; $port = getenv('DB_PORT') ?: 3306;
$pass = getenv('DB_PASSWORD') ?: 'rootpassword'; $user = getenv('DB_USERNAME') ?: 'webgis_user';
$db = getenv('DB_NAME') ?: 'uas_06'; $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) { if (!$conn) {
die("Koneksi database gagal: " . mysqli_connect_error()); die("Koneksi database gagal: " . mysqli_connect_error());
+5 -4
View File
@@ -3,11 +3,12 @@
// koneksi.php Database uas_06 // koneksi.php Database uas_06
// ============================================================ // ============================================================
$host = getenv('DB_HOST') ?: 'db'; $host = getenv('DB_HOST') ?: 'db';
$user = getenv('DB_USER') ?: 'root'; $port = getenv('DB_PORT') ?: 3306;
$pass = getenv('DB_PASSWORD') ?: 'rootpassword'; $user = getenv('DB_USERNAME') ?: 'webgis_user';
$db = getenv('DB_NAME') ?: 'uas_06'; $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) { if (!$conn) {
http_response_code(500); http_response_code(500);
+3 -7
View File
@@ -1,13 +1,9 @@
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
&& a2enmod rewrite
WORKDIR /var/www/html
COPY . /var/www/html/ COPY . /var/www/html/
RUN mkdir -p /var/www/html/05/uploads/bukti \ RUN chown -R www-data:www-data /var/www/html
&& 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: services:
app: app:
build: . build:
ports: context: .
dockerfile: Dockerfile
expose:
- "80" - "80"
environment: environment:
# Koneksi database menunjuk ke container 'db' DB_HOST: db
- DB_HOST=db DB_PORT: 3306
- DB_USER=root DB_DATABASE: webgis_spbu
- DB_PASSWORD=rootpassword DB_USERNAME: webgis_user
# Nama database utama DB_PASSWORD: webgis_password
- DB_NAME=uas_06
depends_on: depends_on:
db: migrate:
condition: service_healthy condition: service_completed_successfully
restart: always restart: unless-stopped
db: db:
image: mysql:8.0 build:
context: .
dockerfile: Dockerfile.db
image: webgis-db
environment: environment:
- MYSQL_ROOT_PASSWORD=rootpassword MYSQL_DATABASE: webgis_spbu
- MYSQL_DATABASE=uas_06 MYSQL_USER: webgis_user
ports: MYSQL_PASSWORD: webgis_password
MYSQL_ROOT_PASSWORD: root_password
expose:
- "3306" - "3306"
volumes: volumes:
- db_data:/var/lib/mysql - webgis_db_data:/var/lib/mysql
# Auto-import database terpadu restart: unless-stopped
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
healthcheck: migrate:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] build:
interval: 10s context: .
timeout: 5s dockerfile: Dockerfile.db
retries: 5 image: webgis-db
restart: always 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: 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 -- Bawaan 05
-- ============================================================ -- ============================================================