services:
litellm-db:
image: postgres:16-alpine
container_name: litellm-db
environment:
POSTGRES_DB: litellm
POSTGRES_USER: litellm
POSTGRES_PASSWORD: litellm2026
volumes:
- litellm-db-data:/var/lib/postgresql/data
restart: unless-stopped
networks:
- struktur-net
healthcheck:
test: ["CMD-SHELL", "pg_isready -U litellm"]
interval: 10s
timeout: 5s
retries: 5
litellm:
image: ghcr.io/berriai/litellm:main-latest
container_name: litellm
ports:
- "127.0.0.1:4000:4000"
volumes:
- ./config.yaml:/app/config.yaml
environment:
DATABASE_URL: postgresql://litellm:litellm2026@litellm-db:5432/litellm
LITELLM_MASTER_KEY: sk-litellm-hermes
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
OPENROUTER_API_KEY: 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
command: ["--config", "/app/config.yaml", "--port", "4000", "--num_workers", "1"]
restart: unless-stopped
depends_on:
litellm-db:
condition: service_healthy
networks:
- struktur-net
volumes:
litellm-db-data:
networks:
struktur-net:
external: true