Claude Transcripts docs GitHub
Work in progressUnder active development — not tested as ready for use. Breaking changes land without notice, stored data may need to be discarded between revisions, and there is no auth or security model.

Containers

The app image

claude-transcripts-app serves everything under one origin (ADR 0002, routes.md): the webapi, the webui at /app, the Scalar API reference at /api/docs, these docs at /docs, and the CLI binary at /cli/download (also on the container's PATH).

One Compose stack, two uses

deploy/docker-compose.yml is generated from the blueprint (bun run gen:compose). It holds CouchDB, Garage, Fossil, Meilisearch and their admin UIs (Fauxton, Garage web UI, Meilisearch UI; Fossil is its own web UI), plus the app under the app profile. Everything binds to 127.0.0.1.

Images: the base file pulls from ${IMAGE_NS}, your mirror in GHCR (ADR 0024); docker-compose.upstream.yml (--upstream, and what install uses) swaps in the public upstream images — and builds Fossil, which publishes none, from deploy/fossil/Dockerfile; docker-compose.build.yml (--build) builds the app from the checkout.

Other topologies

Planned, not built: maintained base images (pinned Bun runtime, a Claude Code runtime, our own builds of the backing services). Fossil is the one backing service already built here, because it has no upstream image (ADR 0031).