# Local all-in-one Chimely for working on this checkout: builds the binary # from source, with Postgres and Redis. The quickstart uses the published # image instead (docs/content/docs/quickstart.mdx); production uses # deploy/docker-compose.yml (pinned image, no dev bootstrap). # Postgres and Redis publish no host ports so `docker compose up` cannot # collide with local services. Reach them via `docker compose exec`. services: postgres: image: postgres:16-alpine environment: POSTGRES_PASSWORD: chimely volumes: - chimely-pg:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 2s timeout: 3s retries: 30 redis: image: redis:7-alpine healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 2s timeout: 3s retries: 30 chimely: build: . depends_on: postgres: condition: service_healthy redis: condition: service_healthy environment: DATABASE_URL: postgres://postgres:chimely@postgres:5432/postgres REDIS_URL: redis://redis:6379 CHIMELY_LISTEN_ADDR: 0.0.0.0:8080 # Dev bootstrap: seeds environment `demo` (require_subscriber_hash=false) # and an API key. Never set these in production. CHIMELY_DEV_ENVIRONMENT: demo CHIMELY_DEV_API_KEY: dev-secret-key # Dev-only root admin so the dashboard at /admin is loggable out of the # box. Password must be at least 12 characters. Never set in production. CHIMELY_ADMIN_EMAIL: admin@example.com CHIMELY_ADMIN_PASSWORD: chimely-dev-admin ports: - "8080:8080" volumes: chimely-pg: