Production checklist
Work through this list before you put real traffic on an openrail install.
Host
- Use a non-burstable VM size with enough RAM for every service plus about 1 GB for openrail itself.
- Attach a blank data disk before installing; the installer uses it for all state (
--data-disk auto). See Install options. - Keep unattended security updates on (the default). Plan reboots: see Upgrading and host maintenance.
- Open only the ports you need, with your cloud firewall or
--firewall. See Firewall. For no open ports at all, see Private mode.
Backups
- Store the recovery key from
/etc/5050/recovery-key.txtin a password manager. Without it, backups cannot be decrypted. - In Settings, Backups, set an S3-compatible bucket and select Test bucket. Use a separate retention key and turn on bucket versioning. See Backups bucket.
- Check that every database's Backups tab lists a recent backup.
- Copy the control plane's hourly state snapshots off the host; 0.1.0 keeps them on the host's disk only. See Control plane backup.
Domains and HTTPS
- Use your own domain with a wildcard A record (
--domain) so names do not depend on your IP. See Your domains. - Add custom domains and wait for Active. See Custom domains and HTTPS.
- Behind Cloudflare, set SSL/TLS mode to Full (strict) and paste Cloudflare's ranges into Trusted proxies. See Cloudflare in front.
Services
- Set a health check path for every web service. See Health checks.
- Run 2 replicas for web services that must not drop requests during deploys. See Replicas and zero-downtime deploys.
- Set memory limits so one service cannot starve the rest.
- Turn on Use all cores for single-process runtimes such as Node. See Use all cores.
- Put database migrations in a pre-deploy command. See Pre-deploy migrations.
People and alerts
- Set up SMTP before you invite people, so invites, password resets and alerts reach them. See Email (SMTP).
- Ask everyone to turn on 2FA. Require two-factor authentication for everyone in Settings, Members is stored but not yet enforced at login in 0.1.0. See Members, roles and 2FA.
- Add monitors for CPU, memory, disk and 5xx rate. See Monitors and alerts.
Resilience
- Read the Honest limits.
- With a second host, join it with
--roles app,ingressand put both IPs behind DNS failover or a load balancer. See Add a host. - Practise a restore once on a spare VM, and read what a lost control host means in 0.1.0.