mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-24 00:52:24 +00:00
The committed sk-1234 placeholder is in PUBLICLY_KNOWN_MASTER_KEYS, so once an
image ships fe480533e8 the proxy refuses to boot and the quickstart stops
working. It also meant the documented stack came up on port 4000 with a
credential anyone could guess.
Both keys now come from .env and compose refuses to render without them. The
salt key is generated alongside so it stays stable across restarts, which
keeps stored credentials readable.
Verified: no .env -> compose fails closed naming the missing variable; with a
generated .env the stack is healthy, /v1/models returns 200 for the generated
key, 401 for sk-1234 and 401 unauthenticated, /ui/ serves, and the key still
works after a restart.
41 lines
1.5 KiB
YAML
41 lines
1.5 KiB
YAML
# LiteLLM quickstart stack: the gateway plus a Postgres database that stores
|
|
# models, virtual keys, and spend logs. Used by
|
|
# https://docs.litellm.ai/docs/proxy/docker_quick_start
|
|
#
|
|
# curl -sSLO https://github.com/BerriAI/litellm/raw/main/docker/docker-compose.quickstart.yml
|
|
# printf 'LITELLM_MASTER_KEY=sk-%s\nLITELLM_SALT_KEY=sk-%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
|
|
# docker compose -f docker-compose.quickstart.yml up -d
|
|
#
|
|
# Compose reads .env from this directory. Keep it: regenerating LITELLM_SALT_KEY
|
|
# makes credentials already stored in the database unreadable. For anything
|
|
# beyond local evaluation, pin the image to a specific release tag.
|
|
services:
|
|
litellm:
|
|
image: docker.litellm.ai/berriai/litellm:main-stable
|
|
ports:
|
|
- "4000:4000"
|
|
environment:
|
|
LITELLM_MASTER_KEY: ${LITELLM_MASTER_KEY:?set it in .env - see the header of this file}
|
|
LITELLM_SALT_KEY: ${LITELLM_SALT_KEY:?set it in .env - see the header of this file}
|
|
DATABASE_URL: postgresql://litellm:litellm@db:5432/litellm
|
|
STORE_MODEL_IN_DB: "True"
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
|
|
db:
|
|
image: postgres:16
|
|
environment:
|
|
POSTGRES_USER: litellm
|
|
POSTGRES_PASSWORD: litellm
|
|
POSTGRES_DB: litellm
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U litellm"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
|
|
volumes:
|
|
postgres_data:
|