Prepare Docker Compose deployment for Coolify

This commit is contained in:
2026-06-11 16:24:28 +07:00
parent ab5f5541fb
commit 9c1bf32cfe
4 changed files with 77 additions and 28 deletions
+31 -18
View File
@@ -1,50 +1,63 @@
services:
web:
build: .
container_name: webgis_app
ports:
- "8080:80"
restart: unless-stopped
expose:
- "80"
environment:
SERVICE_FQDN_WEBGIS:
DB_HOST: mysql
DB_PORT: 3306
DB_USER: webgis
DB_PASSWORD: webgis_password
DB_USER: ${MYSQL_USER:?webgis}
DB_PASSWORD: ${MYSQL_PASSWORD:?}
DB_NAME_GIS_SPBU: gis_spbu
DB_NAME_DATA_JALAN: data_jalan
DB_NAME_WEBGIS: webgis
DB_NAME_KEMISKINAN: webgisuas
depends_on:
- mysql
mysql:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "php -r \"exit(@fsockopen('127.0.0.1', 80) ? 0 : 1);\""]
interval: 30s
timeout: 10s
retries: 5
mysql:
image: mysql:8.0
container_name: webgis_mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_USER: webgis
MYSQL_PASSWORD: webgis_password
ports:
- "3307:3306"
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:?}
MYSQL_DATABASE: gis_spbu
MYSQL_USER: ${MYSQL_USER:?webgis}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:?}
volumes:
- mysql_data:/var/lib/mysql
- ./01/database_01.sql:/docker-entrypoint-initdb.d/01_database_01.sql:ro
- ./02/database_02.sql:/docker-entrypoint-initdb.d/02_database_02.sql:ro
- ./05/webgis_uas_FIXED_v2/webgis_uas_FIXED/database_LENGKAP.sql:/docker-entrypoint-initdb.d/05_database_lengkap.sql:ro
- ./docker/mysql/init/99-grants.sh:/docker-entrypoint-initdb.d/99-grants.sh:ro
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -p$${MYSQL_ROOT_PASSWORD} --silent"]
interval: 10s
timeout: 5s
retries: 10
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: webgis_phpmyadmin
restart: unless-stopped
ports:
- "8081:80"
expose:
- "80"
environment:
SERVICE_FQDN_PHPMYADMIN:
PMA_HOST: mysql
PMA_PORT: 3306
PMA_USER: webgis
PMA_PASSWORD: webgis_password
PMA_USER: ${MYSQL_USER:?webgis}
PMA_PASSWORD: ${MYSQL_PASSWORD:?}
PMA_ABSOLUTE_URI: ${SERVICE_URL_PHPMYADMIN:-}
depends_on:
- mysql
mysql:
condition: service_healthy
volumes:
mysql_data: