mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-29 01:42:19 +00:00
93 lines
No EOL
2.3 KiB
Text
93 lines
No EOL
2.3 KiB
Text
services:
|
|
litellm:
|
|
image: docker.litellm.ai/berriai/litellm:main-stable
|
|
container_name: litellm
|
|
restart: unless-stopped
|
|
user: "101:101"
|
|
read_only: true
|
|
cap_drop:
|
|
- ALL
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
tmpfs:
|
|
- /app/cache:rw,noexec,nosuid,nodev,size=256m,uid=101,gid=101,mode=1777
|
|
- /app/migrations:rw,noexec,nosuid,nodev,size=64m,uid=101,gid=101,mode=1777
|
|
ports:
|
|
- "127.0.0.1:4000:4000"
|
|
environment:
|
|
DATABASE_URL_FILE: /run/secrets/db_url
|
|
LITELLM_NON_ROOT: "true"
|
|
LITELLM_DISABLE_NO_REDIS_WARNING: "true"
|
|
PRISMA_BINARY_CACHE_DIR: "/app/cache/prisma-python/binaries"
|
|
XDG_CACHE_HOME: "/app/cache"
|
|
LITELLM_MIGRATION_DIR: "/app/migrations"
|
|
${PROXY_ENV_MAPPING}
|
|
entrypoint: >
|
|
/bin/sh -c "
|
|
export DATABASE_URL=$$(cat /run/secrets/db_url) &&
|
|
export LITELLM_MASTER_KEY=$$(cat /run/secrets/master_key) &&
|
|
export LITELLM_SALT_KEY=$$(cat /run/secrets/salt_key) &&
|
|
exec docker/prod_entrypoint.sh
|
|
"
|
|
env_file:
|
|
- .env
|
|
secrets:
|
|
- db_url
|
|
- master_key
|
|
- salt_key
|
|
networks:
|
|
- public-egress
|
|
- backend-internal
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
${LITELLM_SQUID_DEPENDENCY}
|
|
healthcheck:
|
|
test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:4000/health/liveliness')"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 60s
|
|
|
|
db:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
container_name: litellm_db
|
|
environment:
|
|
POSTGRES_DB: litellm
|
|
POSTGRES_USER: llmproxy
|
|
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
|
|
secrets:
|
|
- db_password
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
networks:
|
|
- backend-internal
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -d litellm -U llmproxy"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
${SQUID_SERVICE_BLOCK}
|
|
|
|
secrets:
|
|
db_password:
|
|
file: ./secrets/db_password.txt
|
|
master_key:
|
|
file: ./secrets/master_key.txt
|
|
salt_key:
|
|
file: ./secrets/salt_key.txt
|
|
db_url:
|
|
file: ./secrets/db_url.txt
|
|
|
|
volumes:
|
|
postgres_data:
|
|
name: litellm_postgres_data
|
|
|
|
networks:
|
|
public-egress:
|
|
driver: bridge
|
|
backend-internal:
|
|
driver: bridge
|
|
internal: true |