Production Deployment
What changes when you take a Digitorn Go daemon off localhost and put it on the open internet.
Topology
digitornd -config /etc/digitorn/config.yaml
# or register an OS service:
digitornd -config /etc/digitorn/config.yaml install
digitornd start
Put TLS termination on nginx / Caddy / a load balancer in
front of the daemon. The Go digitornd binary does not expose
--tls-cert / --tls-key flags; terminate HTTPS at the proxy and
proxy to 127.0.0.1:8000 (or your server.port).
Set the public origin so absolute preview / OAuth URLs are correct:
server:
host: "127.0.0.1" # listen locally behind the proxy
port: 8000
public_base_url: "https://api.example.com"
auth_enabled: true
cors_origins:
- "https://app.example.com"
Auth
Keep server.auth_enabled: true in production. Configure JWT /
JWKS under auth: (see config.example.yaml). Do not expose an
unauthenticated daemon on 0.0.0.0.
CORS
server.cors_origins is an explicit allow-list. Mixing "*" with
other origins is rejected by config.Validate. Prefer listing
your real front-end origins.
Workers
LLM / embeddings / OCR capacity is under workers:, not CLI
flags:
workers:
llm:
count: 1
concurrency: 512
See Daemon configuration and Deployment shapes.
Previews
Built session previews are served same-origin under the preview pane. See Cloud preview.
Hardening checklist
- TLS at the reverse proxy (or equivalent edge)
-
server.auth_enabled: true - Explicit
server.cors_origins(no accidental wide open) -
server.public_base_urlset to the external HTTPS origin - Secrets only via the vault / env, never in app YAML
- Database DSN and session root on durable disks
- OS service installed (
digitornd install) with restart-on-failure - Hub / OAuth redirect URLs match the public origin
- Backup plan for
database+sessionsroots
Cross-references
- Install / download: Install
- Inventory: YAML building blocks
- Install / service: Install
- Multi-tenant installs: 45-multi-tenant