The instance
Doso has one data plane: the **API’s database**. Web and Desktop are surfaces that talk to that API. There are no Solo/Shared storage products.
For where the stack runs, see Deployment.
What you run#
| Piece | Role |
|---|---|
| API | doso-api — graphs, workflows, connections, authorization |
| Database | Postgres next to the API (compose or hosted) |
| Web | Better Auth + UI at the instance origin |
| Desktop | Same UI, pointed at that origin |
SQLite remains for crate tests, the iOS sandbox, and an unadvertised Desktop
fallback when server.json is empty. Do not pick it in Settings.
Settings#
Settings → Storage shows which database this API is using. On Desktop it
also has Connect to server: the URL of the instance this surface should
open (http://127.0.0.1:3000 or an allowlisted https://… origin).
Changing databases is an operator concern (DATABASE_URL, compose, or
PUT /v1/settings/storage behind DOSO_ENABLE_STORAGE_MIGRATION). The
product UI does not offer Solo ↔ Shared.
Git filestore#
The SQL graph is separate from the Git vault for library documents and thought events. See Git vault.
Summary#
| Question | Answer |
|---|---|
| First run? | ./start.sh (deploy/local), then sign in at :3000. |
| Desktop? | Connect to that instance. |
| Hosted? | Same three boxes behind HTTPS. |
| Host CLIs? | Connections + a paired runtime — Connections. |