From 019bc73c4a0a79d9bfe8a228954a31bcf0619b39 Mon Sep 17 00:00:00 2001 From: Tai An Date: Wed, 22 Apr 2026 03:12:45 -0700 Subject: [PATCH] docs: remove redundant docker pull step from Docker Compose tutorial The Getting Started tutorial instructed users to pull ghcr.io/berriai/litellm-database:main-latest before running docker compose, but the docker-compose.yml actually uses docker.litellm.ai/berriai/litellm:main-stable and postgres:16. Docker Compose pulls these images automatically on first run, so the manual pull step was unnecessary and misleading. Also renumber sections accordingly and fix a duplicate paragraph in Troubleshooting. Fixes #26235 --- .../docs/proxy/docker_quick_start.md | 28 ++++++------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/docs/my-website/docs/proxy/docker_quick_start.md b/docs/my-website/docs/proxy/docker_quick_start.md index 391793773f1..d890c563671 100644 --- a/docs/my-website/docs/proxy/docker_quick_start.md +++ b/docs/my-website/docs/proxy/docker_quick_start.md @@ -104,23 +104,11 @@ $ uv tool install 'litellm[proxy]' Docker Compose bundles LiteLLM with a Postgres database. Follow the steps below — the proxy will be fully running by the end. -### Step 1 — Pull the LiteLLM database image - -LiteLLM provides a dedicated `litellm-database` image for proxy deployments that connect to Postgres. - -```bash -docker pull ghcr.io/berriai/litellm-database:main-latest -``` - -See all available tags on the [GitHub Container Registry](https://github.com/BerriAI/litellm/pkgs/container/litellm-database). - ---- - -### Step 2 — Set up a database +### Step 1 — Set up configuration files Complete all three config files **before** running `docker compose up`. The proxy server will not start correctly if any of these are missing. -#### 2.1 — Get `docker-compose.yml` and create `.env` +#### 1.1 — Get `docker-compose.yml` and create `.env` ```bash # Get the docker compose file @@ -139,7 +127,7 @@ echo 'AZURE_API_BASE="https://openai-***********/"' >> .env echo 'AZURE_API_KEY="your-azure-api-key"' >> .env ``` -#### 2.2 — Create `config.yaml` +#### 1.2 — Create `config.yaml` The default `docker-compose.yml` starts a Postgres container at `db:5432`. Your `config.yaml` must include `database_url` pointing to it: @@ -161,7 +149,7 @@ general_settings: `database_url` enables virtual keys, spend tracking, and the UI. Replace it with your [Supabase](https://supabase.com/) or [Neon](https://neon.tech/) connection string if you prefer a managed database. ::: -#### 2.3 — Create `prometheus.yml` +#### 1.3 — Create `prometheus.yml` This file **must exist as a file** before `docker compose up`. If it is missing, Docker auto-creates it as an empty directory and the Prometheus container fails to start. @@ -176,7 +164,7 @@ scrape_configs: - targets: ["litellm:4000"] ``` -Also verify that the `config.yaml` volume mount and `--config` flag are **not commented out** in `docker-compose.yml`: +Also verify that the `config.yaml` volume mount and `--config` flag are **not commented out** in `docker-compose.yml` (they are commented out by default — uncomment them to load your config): ```yaml services: @@ -193,7 +181,7 @@ All three files (`.env`, `config.yaml`, `prometheus.yml`) must be present before --- -### Step 3 — Start the proxy server and test it +### Step 2 — Start the proxy server and test it After `config.yaml`, `prometheus.yml`, and `.env` are complete, start the proxy: @@ -769,12 +757,12 @@ Error: cannot create subdirectories in ".../prometheus.yml": not a directory Docker created `prometheus.yml` as an **empty directory** instead of a file. This happens when the file is missing at `docker compose up` time. Fix it: -Then create the file (see [Step 2.3 — Create `prometheus.yml`](#23--create-prometheusyml)) and run `docker compose up` again. + ```bash rm -rf prometheus.yml ``` -Then create the file (see [Step 2.4](#step-24--create-prometheusyml)) and run `docker compose up` again. +Then create the file (see [Step 1.3 — Create `prometheus.yml`](#13--create-prometheusyml)) and run `docker compose up` again. ### Non-root docker image?