Docker (recommended)
Docker Compose is the fastest way to run Breadbox. It starts both Breadbox and PostgreSQL for you — no separate database setup required.Create your .env file
Generate a
.env file with the required configuration. The commands below generate a random encryption key and database password for you:Start Breadbox
Start Breadbox and PostgreSQL:This starts both services and runs any pending database migrations automatically. Open http://localhost:8080 to access the setup wizard.
This command starts Breadbox and PostgreSQL without the Caddy reverse proxy, exposing port 8080 directly. For production with automatic HTTPS, see Production deployment below.
latest, edit docker-compose.yml and change the image tag:
Binary download
Pre-built binaries for Linux and macOS (amd64/arm64) are available on the GitHub Releases page. You’ll need a running PostgreSQL 16+ instance before starting.Go install
Build from source using Go 1.24 or later. You’ll need a running PostgreSQL 16+ instance.The module path is
breadbox, so go install github.com/...@latest is not supported. Clone the repo and install locally as shown above.Production deployment
For a production server with automatic HTTPS via Caddy, use the one-liner install script. It installs Docker if needed, downloads the deployment files, generates secrets, and starts Breadbox with Caddy for automatic TLS:Environment variables
All Breadbox configuration is done through environment variables. Set these in your.env file or export them directly before running the binary.
| Variable | Required | Description |
|---|---|---|
DATABASE_URL | Yes | Full PostgreSQL connection string, e.g. postgres://user:pass@host:5432/breadbox?sslmode=disable |
ENCRYPTION_KEY | Yes | 32-byte key as a 64-character hex string. Generate with openssl rand -hex 32. Required when any bank provider is configured. |
SERVER_PORT | No | HTTP listen port. Defaults to 8080. |
PLAID_CLIENT_ID | No | Plaid API client ID. Can also be set through the setup wizard. |
PLAID_SECRET | No | Plaid API secret. Can also be set through the setup wizard. |
TELLER_APP_ID | No | Teller application ID. Can also be set through the setup wizard. |
After installing
Once Breadbox is running, open http://localhost:8080 to complete the setup wizard. The wizard walks you through creating your admin account and configuring your bank provider credentials before you connect any banks.Get started
Follow the quickstart guide to connect a bank and query your first transaction.