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 settingsRun Comma on a machine you manage. Docker Compose builds it from the open source code, and your data stays in your own databases.
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.
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.
Docker Compose starts Comma's web app, Admin, API and Salix beside PostgreSQL, Redis, ClickHouse, MinIO and a local inbox.
Your Tasks, chats and files live in those databases, on your machine.
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.
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 settingsComma 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 GitHubServe 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 accessAn 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| 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, customizable |
| Updates and backups | Done by Comma | Done by you |
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.
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.
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.
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.
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.
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.