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
Getting started
Attribute
Account
Reference
What you run
| Part | What it is |
|---|---|
| The service | One 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. |
| Postgres | All data lives in one Postgres database. See Postgres. |
| Any 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
- Start Postgres and the service.
See Docker.
- Set your public URL and email.
See Configuration.
- Point the local tools at it.
tc connect https://tc.example.com, and the telemetry endpoint athttps://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