# GEPARD — Cartesia-compatible TTS server. # # cp .env.example .env # then fill in DATABASE_URL + HF_TOKEN # docker compose up # builds locally, or set `image:` to pull from Docker Hub # # Requires the NVIDIA driver + NVIDIA Container Toolkit on the host. services: gepard: # Build locally from the Dockerfile... build: . # ...or pull a published image instead (comment out `build:` above): # image: YOUR_DOCKERHUB_USER/gepard:latest ports: - "8000:8000" env_file: - .env volumes: # Persist the Hugging Face model download across runs. - hf-cache:/root/.cache/huggingface # Expose the GPU (needs a recent Docker Compose). On older Compose, replace # the line below with: # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: all # capabilities: [gpu] gpus: all # Run an init (tini) as PID 1 so SIGTERM is forwarded and the vLLM EngineCore # subprocess is reaped on stop/restart — otherwise it can survive and keep # ~80 GB of VRAM pinned, OOMing the next start (see README "Stopping"). init: true # Model load + warmup takes a bit; don't kill it on a slow first boot. stop_grace_period: 30s restart: unless-stopped # Mirrors the image HEALTHCHECK; start_period covers first-boot model download # + compile so a slow cold start isn't flagged unhealthy. healthcheck: test: ["CMD", "curl", "-fsS", "http://localhost:8000/health"] interval: 30s timeout: 5s start_period: 10m retries: 3 volumes: hf-cache: