Deployment
your domain, https, and a go-live checklist.
How to put Kinetica on the internet safely: point a domain at the server, terminate https in Caddy, keep the Node port private, and check everything before the first customer arrives.
01Point a domain at the server
- Pick the address A subdomain works well, for example
video.your-agency.com. - Add a DNS record At your DNS provider, an
Arecord (andAAAAfor IPv6) from that name to the server's IP address. - Set it in
.envPUBLIC_URL=https://video.your-agency.com, then restart Kinetica.
02https with Caddy
sudo apt install -y caddy
/etc/caddy/Caddyfile:
video.your-agency.com {
request_body {
max_size 250MB
}
reverse_proxy 127.0.0.1:8787
}
sudo systemctl reload caddy
Caddy gets and renews the certificate by itself. Keep TRUST_PROXY_HOPS=1 in .env. If you use nginx instead, proxy to 127.0.0.1:8787, allow request bodies of at least 250 MB, pass the X-Forwarded-For header, and keep TRUST_PROXY_HOPS=1.
03Keep the Node port private
Only ports 80 and 443 (Caddy) and your SSH port need to be open. With Docker, publish the port as -p 127.0.0.1:8787:8787 as in the install commands. With plain Node, set HOST=127.0.0.1 in .env or block port 8787 in the firewall, for example:
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw enable
04Go-live checklist
PUBLIC_URLis your https address and the console's "Public URL is https" check passes.ADMIN_SECRET_KEYis in.envand a copy is in your password manager.- The console owner has two-factor sign-in on; consider "Require two-factor for owners and managers".
- System health: Chrome and ffmpeg found, enough free disk.
- A short test video rendered end to end, with voiceover if you sell it.
- E-mail sender verified in Resend; an invite e-mail arrived.
- Stripe tested with test keys and a test webhook, then switched to live keys and a live webhook.
- Terms and privacy URLs set under Settings, Legal.
- Free plan and paid plans set as you want them; "Anyone can sign up" set on purpose.
- Nightly backup in crontab, copied off the server (Backups).
05Growing
Kinetica renders on the same machine, one Node process, with SQLite databases in DATA_DIR. To render more at the same time, give the server more CPU and memory (about 1 core and 600 MB per parallel render) and raise "Renders at the same time" in Settings, Rendering. Running several Kinetica servers against the same data is not part of version 1.0.0.