Docker

The published Docker image installs the core package by default:

zylonai/private-gpt:latest

Auto mode

Point PrivateGPT at your LLM server. Models are discovered automatically — no config file needed.

1

Start your LLM server

Make sure your LLM server is running. See Providers for setup guides.

2

Run the container

$docker run -p 8080:8080 \
> -e OPENAI_API_BASE=http://host.docker.internal:11434/v1 \
> zylonai/private-gpt:latest

host.docker.internal resolves to the host machine from inside Docker on macOS and Windows. On Linux, use --network host and http://localhost:11434/v1 instead.

$# Linux alternative
$docker run --network host \
> -e OPENAI_API_BASE=http://localhost:11434/v1 \
> zylonai/private-gpt:latest
3

Open the UI

Navigate to http://localhost:8080/ui.

Passing an API key

If your LLM server requires authentication:

$docker run -p 8080:8080 \
> -e OPENAI_API_BASE=http://host.docker.internal:8000/v1 \
> -e OPENAI_API_KEY=your-api-key \
> zylonai/private-gpt:latest

Build locally

If you want to build the image from source (e.g. after code changes):

$git clone https://github.com/zylon-ai/private-gpt
$cd private-gpt
$docker build -t private-gpt .

Then replace zylonai/private-gpt:latest with private-gpt in any docker run command above.

To add optional features when building your own image, pass explicit extras:

$docker build \
> --build-arg EXTRAS="core queue observability-opik" \
> -t private-gpt .

Persisting data

By default, ingested documents and local data are stored inside the container and lost on restart. Mount a volume to persist them:

$docker run -p 8080:8080 \
> -e OPENAI_API_BASE=http://host.docker.internal:11434/v1 \
> -v ./local_data:/home/worker/app/local_data \
> zylonai/private-gpt:latest