forked from eval-protocol/python-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
70 lines (66 loc) · 2.12 KB
/
Copy pathdocker-compose.yml
File metadata and controls
70 lines (66 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
services:
# Redis - For tracking assistant message counts
redis:
image: redis:7-alpine
platform: linux/amd64
container_name: proxy-redis
ports:
- "6379:6379" # Expose for debugging if needed
networks:
- litellm-network
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- redis-data:/data
# LiteLLM Backend - Handles actual LLM proxying
litellm-backend:
image: litellm/litellm:v1.77.3-stable
platform: linux/amd64
container_name: litellm-backend
command: ["--config", "/app/config.yaml", "--port", "4000", "--host", "0.0.0.0"]
# If you want to be able to use other model providers like OpenAI, Anthropic, etc., you need to set keys in .env file.
env_file:
- .env # Load API keys from .env file
environment:
- LANGFUSE_PUBLIC_KEY=dummy # Set dummy public and private key so Langfuse instance initializes in LiteLLM, then real keys get sent in proxy
- LANGFUSE_SECRET_KEY=dummy
volumes:
- ./config_no_cache.yaml:/app/config.yaml:ro
ports:
- "4001:4000" # Expose on 4001 for direct access if needed
networks:
- litellm-network
restart: unless-stopped
# Metadata Gateway - Public-facing service that extracts metadata from URLs
metadata-gateway:
build:
context: .
dockerfile: Dockerfile.gateway
container_name: metadata-gateway
environment:
# Point to the LiteLLM backend service
- LITELLM_URL=http://litellm-backend:4000
- PORT=4000
# Redis configuration for assistant message counting
- REDIS_HOST=redis
- REDIS_PORT=6379
# No password for local Redis
- REQUEST_TIMEOUT=300
# Logging level: INFO (default)
- LOG_LEVEL=INFO
# Langfuse and secrets
- SECRETS_PATH=/app/proxy_core/secrets.yaml
- LANGFUSE_HOST=${LANGFUSE_HOST:-https://cloud.langfuse.com}
ports:
- "4000:4000" # Main public-facing port
networks:
- litellm-network
depends_on:
- litellm-backend
- redis
restart: unless-stopped
networks:
litellm-network:
driver: bridge
volumes:
redis-data: