Run it yourself
Self-hosting
No database, no environment variables, no background jobs. Node 20+ is the only requirement.
Run it locally
git clone https://github.com/Somilg11/nautilus.git cd nautilus npm install npm run build npm start # http://localhost:3000
Deploy it
| Target | How |
|---|---|
| Vercel | Import the repo; the default Next.js preset is correct. No environment variables. |
| Any Node host | npm ci && npm run build && npm start, behind nginx or Caddy for TLS. |
| Static CDN | Set output: "export", build, and serve out/. |
| Docker | A working Dockerfile is in docs/SELF_HOSTING.md. |
Security notes for operators
- Serve over HTTPS — the app sends Strict-Transport-Security on every response.
- Don't strip the app's response headers at your proxy. The Content-Security-Policy is what stops an injected script from reading visitors' API keys.
- A static export cannot send those headers — re-create them at the CDN layer, copying the policy from next.config.ts verbatim.
- Adding an analytics or embed script means adding its host to connect-src / script-src. Add the specific host, never a wildcard.
Deploying for a team?
Consider removing the provider hosts from
connect-src and hiding the Keys tab, so API keys are never entered on a shared origin in the first place.Upgrading
git pull origin main npm install npm run build
Saved diagrams are forward-compatible: unknown fields are dropped on load rather than breaking the canvas, and exported JSON from any version imports cleanly.