Token Controller Docs
Docs / Self-hosting / Self-hosting

Self-hosting

Self-hosted Token Controller is the same Docker image as the hosted Team plan, with every Team plan feature. You need one container and one Postgres database.

Browse the docs

What you run

PartWhat it is
The serviceOne program, written in Rust, in one Docker image. It serves the HTTP API, receives telemetry over OpenTelemetry (HTTP and protobuf), runs background jobs such as bill pulls, ticket sync and price updates, and serves the web app.
PostgresAll data lives in one Postgres database. See Postgres.
EmailAny SMTP server, for magic links and late token sheet reminders.

Sign-in runs inside the service: magic link, Google, GitHub and Microsoft, and OIDC on the Enterprise plan. There is no second program to run.

Getting started

  1. Start Postgres and the service.

    See Docker.

  2. Set your public URL and email.

    See Configuration.

  3. Point the local tools at it.

    tc connect https://tc.example.com, and the telemetry endpoint at https://tc.example.com/otlp.

Support

Community support on GitHub. With a support contract, a self-hosted instance becomes an Enterprise plan instance. The service is AGPL-3.0; see Open source and licenses.

Last updated 8 October 2026 · Edit this page © 2026 Jan Beck · Privacy · Imprint