Self-hosting gives you a fully offline Pome setup — twin and CLI on your own machine or CI runner, with zero dependency on pome.sh cloud. You control the data, the reset cadence, and the LLM provider used forDocumentation Index
Fetch the complete documentation index at: https://docs.pome.sh/llms.txt
Use this file to discover all available pages before exploring further.
[P] criterion evaluation. There is no account to create and no API key to manage.
Prerequisites
- Docker with Compose v2
- Bun ≥ 1.3 or Node ≥ 20
- git
Start the twin
.pome-data/secret. Subsequent starts reuse the same secret.If
docker compose up fails to pull the image, run docker login ghcr.io first. The image requires authentication to GitHub Container Registry.Resetting twin state between runs
The CLI handles seeding automatically — before each run it posts the scenario’s## Setup JSON to the twin’s seed endpoint, which drops and recreates all state. You do not need to reset the twin manually between pome run invocations.
If you want to reset the twin manually — for example, to poke it interactively or to clear state after a standalone bun run start against the docker-compose twin — use the CLI command:
Configuration
Create a.pome.json file in your project root to configure the CLI’s mode and twin connection:
| Field | Purpose |
|---|---|
mode | "oss" for self-host (no cloud API calls); "hosted" for the pome.sh control plane |
twins.github.url | Base URL of the local twin |
.pome.json, so you can place it at the project root and run pome from any subdirectory.
Bring your own LLM for [P] evaluation
[P] criteria require an LLM judge. Set one of the following in your shell or CI environment:
Auto-detected providers:
When to use hosted instead
| Self-host | Hosted | |
|---|---|---|
| Cost | Free | Usage-based |
| Privacy | Fully local | Traces stored on pome.sh |
| Setup | Docker + CLI install | Account + API key |
| Offline capable | Yes | No |
| Team dashboard | No | Yes |
| Trace history | Local filesystem | Cloud dashboard |
| Managed twins | No | Yes — no infra to maintain |
Pome is licensed under AGPL-3.0. Internal use — including running Pome inside your company to evaluate your own agents — is free with no obligation. If you modify Pome and serve those modifications over a network to other users, AGPL §13 requires you to publish the modified source. Your agents’ code is not affected; AGPL reaches the modified Pome, not the application code that calls Pome’s API. Contact
licensing@pome.sh for dual-licensing inquiries.