# local setup to run e2e tests configs: litellm_config: content: | general_settings: master_key: os.environ/LITELLM_MASTER_KEY database_url: os.environ/DATABASE_URL store_prompts_in_spend_logs: true litellm_settings: drop_params: true num_retries: 3 request_timeout: 600 cache: true cache_params: type: redis host: redis port: 6379 router_settings: routing_strategy: simple-shuffle num_retries: 3 allowed_fails: 5 cooldown_time: 30 fallbacks: - gemini-3.5-flash: ["gpt-5.5", "claude-haiku-4-5"] model_list: - model_name: gpt-5.5 litellm_params: model: openai/gpt-5.5 api_key: os.environ/OPENAI_API_KEY - model_name: claude-haiku-4-5 litellm_params: model: anthropic/claude-haiku-4-5 api_key: os.environ/ANTHROPIC_API_KEY - model_name: gemini-3.5-flash litellm_params: model: gemini/gemini-3.5-flash api_key: os.environ/GEMINI_API_KEY - model_name: openai-text-embedding-3-small litellm_params: model: openai/text-embedding-3-small api_key: os.environ/OPENAI_API_KEY services: litellm: image: ghcr.io/berriai/litellm:main-latest depends_on: db: condition: service_healthy redis: condition: service_healthy env_file: .env environment: LITELLM_MASTER_KEY: sk-1234 DATABASE_URL: postgresql://litellm:litellm@db:5432/litellm UI_USERNAME: admin UI_PASSWORD: sk-1234 ports: - "4000:4000" configs: - source: litellm_config target: /app/config.yaml command: ["--config", "/app/config.yaml", "--port", "4000"] # throwaway db db: image: postgres:16 environment: POSTGRES_USER: litellm POSTGRES_PASSWORD: litellm POSTGRES_DB: litellm healthcheck: test: ["CMD-SHELL", "pg_isready -U litellm"] interval: 3s timeout: 3s retries: 20 redis: image: redis:7 healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 3s timeout: 3s retries: 20