# 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: