services: frontend: build: ./frontend ports: - "3000:80" depends_on: - api api: build: . command: uvicorn evanescere.api:app --host 0.0.0.0 --port 8000 ports: - "8081:8000" volumes: - ./config.toml:/etc/evanescere/config.toml:ro - ./storage:/data/evanescere depends_on: - redis worker-media: build: . command: dramatiq evanescere.jobs volumes: - ./config.toml:/etc/evanescere/config.toml:ro - ./storage:/data/evanescere depends_on: - redis worker-ai: build: . command: dramatiq evanescere.jobs volumes: - ./config.toml:/etc/evanescere/config.toml:ro - ./storage:/data/evanescere depends_on: - redis scheduler: build: . command: python -m evanescere.scheduler volumes: - ./config.toml:/etc/evanescere/config.toml:ro - ./storage:/data/evanescere depends_on: - redis redis: image: redis:7-alpine ports: - "6379:6379" postgres: image: postgres:17-alpine profiles: ["local-db"] environment: POSTGRES_USER: evanescere POSTGRES_PASSWORD: evanescere POSTGRES_DB: evanescere ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data volumes: pgdata: