dummybot/docker-compose.yml
javiservices 00fcbc9a7c
Some checks are pending
Deploy DummyBot / Build & Deploy to ${{ env.DEPLOY_HOST }} (push) Waiting to run
fix(deploy): excluir CSRF en /webhook/* + script self-contained
- bootstrap/app.php: validateCsrfTokens except webhook/*
- WebhookController: ejecuta deploy-runner.sh (vive en repo)
- deploy-runner.sh: hace git pull + composer + npm + migrate + cache
- docker-compose.yml: solo monta el repo (sin script externo)
2026-06-18 12:16:48 +02:00

71 lines
1.8 KiB
YAML

version: "3.8"
services:
app:
build:
context: .
dockerfile: Dockerfile
container_name: dummybot_app
restart: unless-stopped
working_dir: /var/www
volumes:
- .:/var/www
environment:
- AUTO_MIGRATE=${AUTO_MIGRATE:-0}
- DEPLOY_WEBHOOK_SECRET=${DEPLOY_WEBHOOK_SECRET:-}
networks:
- laravel
webserver:
image: nginx:alpine
container_name: dummybot_web
restart: unless-stopped
expose:
- 80
volumes:
- .:/var/www
- ./nginx.conf:/etc/nginx/conf.d/default.conf
networks:
- laravel
- proxy
depends_on:
- app
db:
image: mysql:8.0
container_name: dummybot_db
restart: unless-stopped
environment:
MYSQL_DATABASE: ${DB_DATABASE:-dummybot}
MYSQL_USER: ${DB_USERNAME:-dummybot}
MYSQL_PASSWORD: ${DB_PASSWORD:-dummybot}
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-root}
volumes:
- dbdata:/var/lib/mysql
networks:
- laravel
# ─────────────────────────────────────────────────────────────
# Túnel socat para exponer el backend en :18080 sin TLS.
# Útil mientras el proxy-manager no tiene host para dummybot.
# Si ya tienes HTTPS, este contenedor es opcional.
# ─────────────────────────────────────────────────────────────
expose:
image: alpine/socat
container_name: dummybot_expose
restart: unless-stopped
ports:
- "18080:80"
command: TCP-LISTEN:80,fork,reuseaddr TCP:dummybot_web:80
networks:
- proxy
depends_on:
- webserver
volumes:
dbdata:
networks:
laravel:
proxy:
external: true