Skip to content
← All runbooks

Deploy & launch

DNS Provisioning

Records to configure for useatrium.me via your registrar (Namecheap, Cloudflare, etc.).

Required records

Type
CNAME
Host
verify
Value / Target
cname.vercel-dns.com
TTL
300
Notes
Production frontend
Type
CNAME
Host
verify-staging
Value / Target
cname.vercel-dns.com
TTL
300
Notes
Staging preview
Type
A
Host
codex
Value / Target
<DROPLET_IP>
TTL
300
Notes
Caddy auto-TLS → :3000
Type
A
Host
tablet
Value / Target
<DROPLET_IP>
TTL
300
Notes
Caddy auto-TLS → :3001
Type
CNAME
Host
status
Value / Target
atrium-protocol.github.io
TTL
300
Notes
Upptime status page
Type
A
Host
@
Value / Target
Vercel IP (76.76.21.21)
TTL
300
Notes
Root domain redirect
Type
TXT
Host
@
Value / Target
v=spf1 include:_spf.google.com ~all
TTL
3600
Notes
Email (if using Google Workspace)

Replace <DROPLET_IP> with the IP printed by scripts/provision-do-droplet.sh.

Step-by-step (Namecheap)

  1. Log in → Domain List → useatrium.me → Advanced DNS.
  2. Add each record from the table above.
  3. Save all changes.

Vercel custom domains

After DNS records propagate:

  1. Vercel dashboard → Project (atrium-verify) → Settings → Domains.
  2. Add verify.useatrium.me → assign to Production.
  3. Add verify-staging.useatrium.me → assign to Preview (branch: staging).
  4. Vercel will verify DNS automatically.

Verification

# Each should resolve correctly
nslookup verify.useatrium.me
nslookup codex.useatrium.me
nslookup tablet.useatrium.me
nslookup status.useatrium.me

# TLS check (after Caddy is running on droplet)
curl -I https://codex.useatrium.me/healthz
curl -I https://tablet.useatrium.me/healthz

Caddyfile reference

The droplet runs Caddy as reverse proxy. See services/codex/Caddyfile and runbooks/caddy-on-droplet.md for installation.

Combined Caddyfile installed at /etc/caddy/Caddyfile:

codex.useatrium.me {
  reverse_proxy localhost:3000
}

tablet.useatrium.me {
  reverse_proxy localhost:3001
}

Caddy handles TLS certificate provisioning via Let's Encrypt ACME automatically.