# 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 proxy_budget_rescheduler_min_time: 5 proxy_budget_rescheduler_max_time: 10 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-2.5-flash: ["gpt-5.5", "claude-haiku-4-5"] finetune_settings: - custom_llm_provider: openai api_key: os.environ/OPENAI_API_KEY files_settings: - custom_llm_provider: openai api_key: os.environ/OPENAI_API_KEY - custom_llm_provider: azure api_base: os.environ/AZURE_API_BASE api_key: os.environ/AZURE_API_KEY api_version: "2024-05-01-preview" 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-2.5-flash litellm_params: model: gemini/gemini-2.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 AWS_S3_BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-${AWS_BATCH_S3_BUCKET:-}} AWS_BATCH_S3_BUCKET: ${AWS_BATCH_S3_BUCKET:-${AWS_S3_BUCKET_NAME:-}} AWS_BATCH_ROLE_ARN: ${AWS_BATCH_ROLE_ARN:-} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:-} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:-} AWS_REGION: ${AWS_REGION:-us-east-1} GCS_BUCKET_NAME: ${GCS_BUCKET_NAME:-} VERTEXAI_PROJECT: ${VERTEXAI_PROJECT:-} VERTEXAI_CREDENTIALS: ${VERTEXAI_CREDENTIALS:-} GOOGLE_APPLICATION_CREDENTIALS: ${GOOGLE_APPLICATION_CREDENTIALS:-} MISTRAL_API_KEY: ${MISTRAL_API_KEY:-} AZURE_API_BASE: ${AZURE_API_BASE:-} AZURE_API_KEY: ${AZURE_API_KEY:-} 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