Files
e-ticket/docker-compose-dev.yml
Serreau Jovann f822a9a069 Add deployment pipeline, maintenance page and project config
- Makefile: install_dev, install_prod, migration/migrate commands
- docker-compose-dev: add Caddy and Bun services
- docker-compose-prod: remove exposed pgbouncer port
- Ansible: Caddy template with maintenance mode (503), vault, deploy playbook
- Gitea workflow: manual deploy to production
- Maintenance page (Neubrutalism style)
- LICENSE: proprietary license

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 20:40:40 +01:00

106 lines
2.2 KiB
YAML

services:
php:
build:
context: ./docker/php/dev
dockerfile: Dockerfile
container_name: e-ticket_php
restart: unless-stopped
volumes:
- .:/app
ports:
- "9000:9000"
depends_on:
database:
condition: service_healthy
redis:
condition: service_healthy
database:
image: postgres:16-alpine
container_name: e-ticket_database
environment:
POSTGRES_USER: app
POSTGRES_PASSWORD: secret
POSTGRES_DB: e-ticket
ports:
- "5432:5432"
volumes:
- db-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U app -d e-ticket"]
interval: 5s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: e-ticket_redis
command: redis-server --requirepass e-ticket
ports:
- "6379:6379"
volumes:
- redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "-a", "e-ticket", "ping"]
interval: 5s
timeout: 5s
retries: 5
caddy:
image: caddy:2-alpine
container_name: e-ticket_caddy
ports:
- "8000:80"
volumes:
- ./docker/caddy/Caddyfile:/etc/caddy/Caddyfile
- .:/app
depends_on:
- php
messenger:
build:
context: ./docker/php/dev
dockerfile: Dockerfile
container_name: e-ticket_messenger
command: php bin/console messenger:consume async -vv
restart: unless-stopped
volumes:
- .:/app
depends_on:
database:
condition: service_healthy
redis:
condition: service_healthy
bun:
image: oven/bun:alpine
container_name: e-ticket_bun
working_dir: /app
volumes:
- .:/app
- bun-modules:/app/node_modules
command: sh -c "bun install && bun run dev"
ports:
- "5173:5173"
mailpit:
image: axllent/mailpit
container_name: e-ticket_mailpit
ports:
- "1025:1025"
- "8025:8025"
redisinsight:
image: redis/redisinsight:latest
container_name: e-ticket_redisinsight
ports:
- "5540:5540"
depends_on:
redis:
condition: service_healthy
volumes:
db-data:
redis-data:
bun-modules: