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: