############################################################################### # 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: - src/.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: - src/.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