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.
| Provider | Postgres |
|---|---|
| Railway | Railway Postgres plugin |
| Vercel | Neon or any Marketplace Postgres |
| Cloudflare | Any hosted Postgres |
| Google Cloud | Cloud SQL Postgres |
| AWS | RDS 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>