Self-host Comma

Run Comma on a machine you manage. Docker Compose builds it from the open source code, and your data stays in your own databases.

The first start

An example. In a terminal, you clone the repository, copy the example settings and start Comma with Docker Compose. The settings step runs first, then PostgreSQL, Redis, ClickHouse, MinIO and a local inbox. Next, the stack creates the storage buckets and prepares the database, and Comma's server and the web app start last. Behind the terminal, a browser at localhost:8080 shows Comma asking for the sign-in code it sent.

What runs on your machine

A diagram of a self-hosted instance. Inside your machine, Comma's web app, Admin, API and Salix run beside PostgreSQL, Redis, ClickHouse, MinIO and a local inbox. Model calls leave for your model provider, web searches for Exa if you add its key, and on a public instance sign-in codes for your mail server.

One stack

Docker Compose starts Comma's web app, Admin, API and Salix beside PostgreSQL, Redis, ClickHouse, MinIO and a local inbox.

Your data stays here

Your Tasks, chats and files live in those databases, on your machine.

Calls go where you send them

Model calls go to your provider, web search to Exa if you add its key, and sign-in email to your mail server. The stack sends no analytics or traces to Comma.

What you control

Bring your own model

Set your provider's endpoint, model and key in .env. Your provider bills you for model calls, and you need no Comma plan, credits or card.

Model settings

Code you can read and change

Comma is open source under AGPL-3.0. Read the code, change it and build your own. Each instance serves the source of its own build.

View on GitHub

Serve it to your team

Serve the web app, Admin and the API at their own HTTPS addresses under one domain. Add a real mail server for sign-in codes. Sign-up stays off until you turn it on.

Public access

Upgrade without losing data

An upgrade rebuilds the code and keeps the five volumes that hold your data and keys. Back them up together first, and start the next release with the same project name.

Upgrades and backups

Hosted or self-hosted

comma.surf Self-hosted
Runs on Comma's servers A machine you manage
Your data Stored by Comma In your own databases
Models Comma's models, or your own key or plan Your provider, or a private model per person
Cost Plans and credits Your machine and your model calls
Cloud computer One for each Workspace Off by default, needs Cloudflare
Meeting recorder Included Not included, customisable
Updates and backups Done by Comma Done by you

FAQs

What do I need to run it?

Docker Engine with Compose v2.24 or later, and disk space for the first build, which downloads the toolchains it needs. For real model calls, you also need an account with a model provider.

Do I need a Comma account?

No. The stack builds from the public repository, with no Comma account and no access token. You sign in to your own instance with an email code.

What does a self-hosted instance cost?

Comma does not charge for it, and it needs no plan, credits or card. You pay for the machine it runs on. Your model provider bills you for model calls, and Exa bills web searches if you add its key.

Which models can I use?

Set one model for the whole instance in .env: its endpoint, the API it speaks, its model ID and a key. Without one, each person adds a private model in Settings after signing in, and calls use that person's provider account.

What does self-hosting leave out?

The meeting recorder needs a runtime that the repository does not include. Cloud computers are off by default, and new ones need a Cloudflare setup. Comma can still work on your own computer once you connect it in the device settings.

What does the AGPL ask of me?

You can run, study and change Comma's code under AGPL-3.0. If you serve a changed version to other people, keep its source available to them. Each instance already serves the source of its own build at /source.tar.gz.

Run Comma, Yourself.

Read the guide