Cloud

Every hosted deploy is the same three boxes as local: **web**, **api**, **Postgres**.

Clients hit the web origin. Web authenticates and proxies /v1 to the API. Postgres is private.

Images are gethamster/doso-api and gethamster/doso-web.

ProviderPostgres
RailwayRailway Postgres plugin
VercelNeon or any Marketplace Postgres
CloudflareAny hosted Postgres
Google CloudCloud SQL Postgres
AWSRDS or Aurora Postgres

Multi-org / tenant-runtime is not part of this. That overlay lives in deploy/saas.

Environment#

Use one HTTPS origin for login and the API:

1DOSO_AUTH_MODE=jwks2NEXT_PUBLIC_DOSO_AUTH_MODE=session3DOSO_JWKS_URL=https://your.domain/api/auth/jwks4DOSO_AUTH_ISSUER=https://your.domain5DOSO_AUTH_AUDIENCE=https://your.domain6DOSO_PUBLIC_API_URL=https://your.domain7BETTER_AUTH_URL=https://your.domain8BETTER_AUTH_SECRET=<random secret>9DATABASE_URL=postgresql://...10DOSO_SETTINGS_KEY_HEX=<64 hex characters>11DOSO_API_PROXY_TARGET=<private api URL>