Self-hosting overview
Campbooks Next is made to run on your own hardware. One docker compose up -d starts everything you need to sign in and use the app.
:::warning Campbooks is mid-rewrite
Campbooks is being rebuilt from scratch in Rust. This guide covers the new version (Campbooks Next), which is early and moving fast: some features, such as mail sync and the AI pass over your mail, are still landing. The older Rails version on the main branch (documented under Deployment) still exists, but it is unstable and unmaintained, and it no longer gets fixes. Start new installs on Next.
:::
What you run
| Part | What it does | Port |
|---|---|---|
| Campbooks server | One image that serves the web app and the API (/api/v1/...). It also signs people in and runs the background job worker. | 8080 |
| Postgres with pgvector | Stores your data. Bundled in the compose file. | internal |
| Local AI services (optional) | Laya, Ollama and a text embeddings server, started with the ai profile. | internal |
Files (message bodies, attachments, documents) are stored outside Postgres, in a Docker volume by default. You can use an S3-compatible bucket instead. See Storage and database.
Requirements
- Docker with Compose v2.
- A host that can run Postgres and the server. The sources give no minimum CPU or RAM for these.
- For local AI (optional): Laya needs about 2 GB of RAM. CPU is fine for the
decideandembedroles. Forcomplete, use a GPU host or a hosted provider that serves open-weight models. See Local AI. - For a real domain: a reverse proxy that terminates TLS. See Sign-in.
Where to go next
- Quickstart: from zero to a running instance.
- Configuration: every
.envsetting. - Local AI: run the AI roles on your own hardware.
- Sign-in: the built-in sign-in, Google, Microsoft and Zoho, and signup policy.
- Mailboxes: connect Gmail and Zoho Mail.
- IMAP mailboxes: connect any other mailbox with an app password.
- Storage and database: blobs, database logins and workspace isolation.
- Upgrades and backups
- Troubleshooting