Spaces:
Configuration error
Configuration error
version: "3.11" | |
services: | |
litellm: | |
build: | |
context: . | |
args: | |
target: runtime | |
image: ghcr.io/berriai/litellm:main-stable | |
######################################### | |
## Uncomment these lines to start proxy with a config.yaml file ## | |
# volumes: | |
# - ./config.yaml:/app/config.yaml <<- this is missing in the docker-compose file currently | |
# command: | |
# - "--config=/app/config.yaml" | |
############################################## | |
ports: | |
- "4000:4000" # Map the container port to the host, change the host port if necessary | |
environment: | |
DATABASE_URL: "postgresql://llmproxy:dbpassword9090@db:5432/litellm" | |
STORE_MODEL_IN_DB: "True" # allows adding models to proxy via UI | |
env_file: | |
- .env # Load local .env file | |
depends_on: | |
- db # Indicates that this service depends on the 'db' service, ensuring 'db' starts first | |
healthcheck: # Defines the health check configuration for the container | |
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 http://localhost:4000/health/liveliness || exit 1" ] # Command to execute for health check | |
interval: 30s # Perform health check every 30 seconds | |
timeout: 10s # Health check command times out after 10 seconds | |
retries: 3 # Retry up to 3 times if health check fails | |
start_period: 40s # Wait 40 seconds after container start before beginning health checks | |
db: | |
image: postgres:16 | |
restart: always | |
container_name: litellm_db | |
environment: | |
POSTGRES_DB: litellm | |
POSTGRES_USER: llmproxy | |
POSTGRES_PASSWORD: dbpassword9090 | |
ports: | |
- "5432:5432" | |
volumes: | |
- postgres_data:/var/lib/postgresql/data # Persists Postgres data across container restarts | |
healthcheck: | |
test: ["CMD-SHELL", "pg_isready -d litellm -U llmproxy"] | |
interval: 1s | |
timeout: 5s | |
retries: 10 | |
prometheus: | |
image: prom/prometheus | |
volumes: | |
- prometheus_data:/prometheus | |
- ./prometheus.yml:/etc/prometheus/prometheus.yml | |
ports: | |
- "9090:9090" | |
command: | |
- "--config.file=/etc/prometheus/prometheus.yml" | |
- "--storage.tsdb.path=/prometheus" | |
- "--storage.tsdb.retention.time=15d" | |
restart: always | |
volumes: | |
prometheus_data: | |
driver: local | |
postgres_data: | |
name: litellm_postgres_data # Named volume for Postgres data persistence | |