57 lines
1.6 KiB
YAML
57 lines
1.6 KiB
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/php-apache/Dockerfile
|
|
container_name: myansuran-app
|
|
ports:
|
|
- "8002:80"
|
|
restart: always
|
|
volumes:
|
|
- ./src:/var/www/html
|
|
- ./docker/php/custom.ini:/usr/local/etc/php/conf.d/99-custom.ini
|
|
# Storage & bootstrap/cache guna named volume supaya chown www-data
|
|
# (dalam entrypoint) tak menukar pemilikan fail git di host.
|
|
- storage_data:/var/www/html/storage
|
|
- bootstrap_cache:/var/www/html/bootstrap/cache
|
|
environment:
|
|
APACHE_DOCUMENT_ROOT: /var/www/html/public
|
|
APP_ENV: local
|
|
APP_DEBUG: "true"
|
|
TZ: Asia/Kuala_Lumpur
|
|
APP_TIMEZONE: Asia/Kuala_Lumpur
|
|
REDIS_HOST: shared-redis
|
|
REDIS_PORT: 6379
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
networks:
|
|
- backend_net
|
|
|
|
# ── Webhook Deploy (Gitea → auto pull + migrate) ───────────────────────────
|
|
webhook:
|
|
build:
|
|
context: ./docker/webhook
|
|
container_name: myansuran-webhook
|
|
restart: always
|
|
environment:
|
|
WEBHOOK_SECRET: ${WEBHOOK_SECRET}
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- /root/.ssh:/root/.ssh:ro
|
|
- ./docker/webhook/hooks.json:/etc/webhook/hooks.json:ro
|
|
- ./deploy.sh:/deploy.sh:ro
|
|
- .:/srv/myansuran
|
|
command: -hooks=/etc/webhook/hooks.json -template -verbose
|
|
networks:
|
|
- backend_net
|
|
|
|
networks:
|
|
backend_net:
|
|
name: backend_net
|
|
external: true
|
|
|
|
volumes:
|
|
storage_data:
|
|
driver: local
|
|
bootstrap_cache:
|
|
driver: local |