Orkestia
Blog
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 not storage.* and not data.appdata.document.*.
  • Claim and publish require a live Identity app (not localhost-only dev mode).

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

FamilyRole
apphost.site.*Claim, get, list, custom domains, serving mode
apphost.release.*Zip upload, publish, rollback
apphost.web.deploy / apphost.source.launchContainer on the shared pool
apphost.database.attachProvision App Data instance + process DATABASE_URL
apphost.addon.applyNostr 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

RuleDetail
Live mode firstapphost.site.claim and publish reject mode=dev (localhost-only) Identity apps.
Do not pass DSNsAttach via workflows. Never echo DATABASE_URL or relay keys.
Buzz ≠ conversationsOrdered append + membership in App Data is the chat data primitive. Buzz is Nostr.
Files ≠ documentsapphost.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 appA second agent product is a second Identity app (and usually a second site).

Read the App Host section

Claim, Postgres, website, Files, Buzz, domains, keys.