Skip to main content

Deploy from GitHub Container Registry

Run the systemprompt.io gateway from the public GHCR image with Docker Compose or docker run.

The gateway is published to GHCR as ghcr.io/systempromptio/systemprompt-template: a single compiled Rust binary plus the services/ config tree. It is the same image that backs the Helm chart and the PaaS templates, and anonymous pulls are allowed.

Pick GHCR when you want a public, rate-limit-free OCI pull source, or you already authenticate to ghcr.io.

Quickstart: Compose

git clone https://github.com/systempromptio/systemprompt-template
cd systemprompt-template
cp .env.example .env   # set ANTHROPIC_API_KEY / OPENAI_API_KEY / GEMINI_API_KEY
# Edit docker-compose.yml: comment `build: .` and uncomment `image: ghcr.io/...:latest`
docker compose up

Open http://localhost:8080.

Quickstart: docker run

Provide a reachable Postgres via DATABASE_URL and at least one AI key:

docker run --rm -p 8080:8080 \
  -e DATABASE_URL=postgres://user:pw@host.docker.internal:5432/systemprompt \
  -e ANTHROPIC_API_KEY=sk-ant-... \
  ghcr.io/systempromptio/systemprompt-template:latest

On first boot the entrypoint writes the docker profile, waits for Postgres, runs migrations, and starts the API on port 8080.

Tags and verification

latest tracks the most recent release; v* releases also publish <major>.<minor>.<patch>, <major>.<minor>, and <major> tags. Versioned tags are signed with cosign (keyless, GitHub OIDC).

For tag details, signature verification, and authenticated pulls, see the full GHCR recipe in the template repository. For GHCR itself (auth, rate limits, private forks), see the GitHub Container Registry documentation.