VPS Deployment
This guide deploys OneGlanse on a fresh Ubuntu 22.04 / 24.04 VPS. At the end you’ll have:- OneGlanse running behind nginx with HTTPS
- Postgres, ClickHouse, and Redis running in Docker
- Provider sessions uploaded from your local machine
- OneGlanse collects responses from real provider UIs, not official model APIs
- provider auth is captured locally with
pnpm auth - VPS browser traffic needs a residential proxy because datacenter IPs are often blocked by provider websites
1. Provision the VPS
Any provider works (Hetzner, DigitalOcean, Vultr, etc.). Minimum spec:| Minimum | Recommended | |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB | 8 GB |
| Disk | 40 GB SSD | 80 GB SSD |
| OS | Ubuntu 22.04 | Ubuntu 24.04 |
2. Install dependencies
SSH into your VPS and run:3. Clone and configure
.env and fill in the required values:
BETTER_AUTH_SECRET and INTERNAL_CRON_SECRET on first run.
Why the proxy is mandatory on VPS:
- VPS traffic usually originates from datacenter IP ranges
- provider websites frequently challenge or block those IPs
- OneGlanse collects from authenticated web UIs, so network reputation matters
4. Start the stack
- Web app on port 3000
- Agent worker (internal)
- Postgres on port 5432 (internal)
- ClickHouse on port 8123 (internal)
- Redis on port 6379 (internal)
web, agent-worker, postgres, clickhouse, and redis.
5. Configure nginx
Create the nginx site config:app.yourdomain.com with your domain:
6. Enable HTTPS with Let’s Encrypt
- Obtain a certificate
- Automatically update the nginx config to redirect HTTP → HTTPS
- Set up auto-renewal via a systemd timer
7. Upload provider auth sessions
Provider auth must be captured on your local machine (it needs a real browser). Once captured, upload the sessions to the VPS. OneGlanse uses Camoufox, an anti-fingerprint Firefox-based browser, for this flow. That is intentional: plain Chrome / Chromium automation is more likely to trigger login loops, verification challenges, or unstable sessions on provider websites. Camoufox is a better fit for authenticated scraping against anti-bot-protected chat interfaces. On your local machine — set these in your local.env:
pnpm upload:vps whenever a session expires.
8. Open the app
Navigate tohttps://app.yourdomain.com, create your account, and start adding prompts.
Updates
Pull and redeploy without downtime:Firewall
Allow only the ports nginx needs — block everything else:pnpm upload:vps.
Troubleshooting
502 Bad Gateway — the web container isn’t running yet. Check:/opt/oneglanse/storage). If they expire, re-run pnpm upload:vps from your local machine.
VPS ran out of disk — ClickHouse data grows over time. Check usage:

