90 lines
2.7 KiB
YAML
90 lines
2.7 KiB
YAML
###############################################################################
|
|
# eCert MBIP — Docker Compose (Development — Windows 11)
|
|
#
|
|
# Penggunaan:
|
|
# docker compose up -d --build
|
|
#
|
|
# Aplikasi: http://localhost:8003
|
|
# DB : host.docker.internal:3306 (MySQL pada Windows host)
|
|
#
|
|
# NOTA: Dari dalam container, MySQL pada Windows tidak boleh guna "localhost".
|
|
# Kena guna host.docker.internal (disediakan oleh Docker Desktop).
|
|
# Dalam .env: DB_HOST=host.docker.internal
|
|
###############################################################################
|
|
name: ecert
|
|
|
|
services:
|
|
|
|
# ── PHP-FPM Application ────────────────────────────────────────────────────
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/php/Dockerfile
|
|
container_name: ecert_app
|
|
restart: unless-stopped
|
|
working_dir: /var/www
|
|
volumes:
|
|
- ./src:/var/www
|
|
- ./docker/php/php.ini:/usr/local/etc/php/conf.d/99-ecert.ini:ro
|
|
- ./docker/php/php-dev.ini:/usr/local/etc/php/conf.d/99-ecert-dev.ini:ro
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
APP_ENV: local
|
|
APP_DEBUG: "true"
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway" # pastikan resolusi host pada Linux juga
|
|
networks:
|
|
- ecert
|
|
|
|
# ── Nginx Web Server ───────────────────────────────────────────────────────
|
|
nginx:
|
|
image: nginx:1.27-alpine
|
|
container_name: ecert_nginx
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8003:80"
|
|
volumes:
|
|
- ./src:/var/www:ro
|
|
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
|
|
depends_on:
|
|
- app
|
|
networks:
|
|
- ecert
|
|
|
|
# ── Queue Worker ───────────────────────────────────────────────────────────
|
|
queue:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/php/Dockerfile
|
|
container_name: ecert_queue
|
|
restart: unless-stopped
|
|
working_dir: /var/www
|
|
volumes:
|
|
- ./src:/var/www
|
|
- ./docker/php/php.ini:/usr/local/etc/php/conf.d/99-ecert.ini:ro
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
APP_ENV: local
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
entrypoint: []
|
|
command:
|
|
- php
|
|
- artisan
|
|
- queue:work
|
|
- --sleep=3
|
|
- --tries=3
|
|
- --max-time=3600
|
|
- --timeout=90
|
|
depends_on:
|
|
- app
|
|
networks:
|
|
- ecert
|
|
|
|
###############################################################################
|
|
networks:
|
|
ecert:
|
|
driver: bridge
|