Core Concepts
App Host
Opt-in hosting on Orkestia's shared pool — one live Identity app, one site, App Data for Postgres, Files on site MinIO, Buzz as a Nostr relay on a second hostname
TL;DR
- App Host is where an Orkestia app is served, when you do not want to run your own cluster for that product.
- One Identity app → one hosted site → one slug. Claim
https://<slug>.app.orkestia.dev. - Postgres is App Data, not a pod next to the site. Attach it; do not paste a DSN.
- Buzz is a Nostr relay on
wss://buzz-<slug>.orkestia.dev. It is not the website, and it is not a hosted HTTP chat API. For an end-user chat on top of it, use a chat space. - Files are org-member objects on that site MinIO (
apphost.file.*). They are notstorage.*and notdata.appdata.document.*. - Claim and publish require a live Identity app (not localhost-only
devmode).
Customer clicks live in the App Host section. This page is the model.
Three hostnames, one app
Identity app (sign-in + users)
├─ Website https://<slug>.app.orkestia.dev zip and/or process
├─ App Data catalog + serving Postgres query.orkestia.dev
├─ Files org-member objects on site MinIO apphost.file.*
└─ Buzz wss://buzz-<slug>.orkestia.dev Nostr relay + Redis + MinIO
Cloud Deploy (GitHub → your AWS) is a different product. App Host's website host is Orkestia-managed.
What the catalog types do
| Family | Role |
|---|---|
apphost.site.* | Claim, get, list, custom domains, serving mode |
apphost.release.* | Zip upload, publish, rollback |
apphost.web.deploy / apphost.source.launch | Container on the shared pool |
apphost.database.attach | Provision App Data instance + process DATABASE_URL |
apphost.addon.apply | Nostr Buzz (Redis, MinIO, relay). Not Chat Relay. |
apphost.file.* | Org-member Files on site MinIO (meta.json + object). Human-only. Not storage.*. |
identity.key.* | Customer-managed nsec for Buzz owner AUTH |
The process Ingress uses field manager apphost-web. Buzz uses apphost-addon-buzz. Turning Buzz on does not steal the CloudFront website host.
For AI agents
| Rule | Detail |
|---|---|
| Live mode first | apphost.site.claim and publish reject mode=dev (localhost-only) Identity apps. |
| Do not pass DSNs | Attach via workflows. Never echo DATABASE_URL or relay keys. |
| Buzz ≠ conversations | Ordered append + membership in App Data is the chat data primitive. Buzz is Nostr. |
| Files ≠ documents | apphost.file.* is human org members on site MinIO. Do not start it as an agent. document.* needs an end-user and Storage. |
| One AgentConfig per Identity app | A second agent product is a second Identity app (and usually a second site). |
DevKit
The Orkestia local CLI, webhook redirect to localhost, a provider-blind coding runner, ticket sync, and composition management, authenticated with an API token
Agent Exchange
A labor market for Staff actors — listings, deals, leases, a shared ledger, and settlement on the seller's own payment account
