Skip to content

Self-host - Docker (pre-built images)

Use pre-built OpenQuok Docker images.

3 min read

Connect your agent today

Draft from chat, review in your calendar, and publish only what you approve.

Start your free trial

Overview

Maintainers publish container images for the self-host stack. You can pull the API, workers, and (optionally) the agent server instead of compiling them locally.

The usual path is still: clone the repo, configure infra/self-host/.env, and run Compose. See Docker Compose (self-host). Use this page when you want registry images on the same CPU architecture as the build (amd64 or arm64).

Release tags look like self-host-v1.0.0 on git; images use 1.0.0 and latest.

Registries

RegistryPrefix
GitHub Container Registry (default)ghcr.io/ratimon
Docker Hubdocker.io/ratimon
ImageServices
openquok-apiapi
openquok-orchestratorthree worker-* services
openquok-webweb (usually you build locally)
openquok-agent-serveragent-server with cli profile

Example: docker pull ghcr.io/ratimon/openquok-api:latest

Package pages: openquok-api on GHCR, ratimon on Docker Hub.

Pin a version with OPENQUOK_IMAGE_TAG in infra/self-host/.env (for example 1.0.0 instead of latest).

Env vars for pulls

VariableDefaultRole
OPENQUOK_IMAGE_REGISTRYghcr.io/ratimonRegistry host and org
OPENQUOK_IMAGE_TAGlatestTag for all openquok-* images
OPENQUOK_PULL_WEBfalseSet true only when your VITE_* match the published web image

Base file: infra/self-host/docker-compose.yml. Add overlay infra/self-host/docker-compose.images.yml for registry-first pulls.

There is no runtime injection of VITE_* today. Treat pulled openquok-web as a localhost demo shortcut, not a replacement for compose build web on a real Supabase project.

Pull and start

Prerequisites: System requirements and Supabase keys from Docker Compose.

Configure .env

Copy infra/self-host/.env.example to infra/self-host/.env. Fill Supabase and SECURITY_SECRET.

Optional:

OPENQUOK_IMAGE_REGISTRY=ghcr.io/ratimon
OPENQUOK_IMAGE_TAG=latest

Pull images

From the repository root:

docker compose -f infra/self-host/docker-compose.yml -f infra/self-host/docker-compose.images.yml pull

This pulls API, orchestrator, and (with —profile cli) agent server. Web still builds by default.

Start

docker compose -f infra/self-host/docker-compose.yml -f infra/self-host/docker-compose.images.yml up -d --build

The first web build can take 15–30 minutes or more. Later restarts are faster.

Open http://localhost:4007. For restarts without rebuild, see Start again on the Compose page (use both -f files).

Optional: pulled web (advanced)

Only when your URLs and Supabase publishable keys match the CI bake:

  1. Set OPENQUOK_PULL_WEB=true.
  2. Uncomment the web: block in docker-compose.images.yml.
  3. Run pull, then up -d without —build for web.

Optional: CLI profile

Add —profile cli to pull and up when you need device-flow login. Same as Docker Compose.

Choose an approach

ApproachWhen
One compose file + up —buildDefault; custom VITE_*
Base + images overlay + pullFaster API and workers; you still build web
Pinned OPENQUOK_IMAGE_TAGYou want a fixed release version

Update

Change OPENQUOK_IMAGE_TAG, then git pull, pull, and up -d —build with both compose files. Full steps: Docker Compose — Update.

Search documentation
Find a docs page
Discord Support