Your server.
Your data.
Your rules.
Run Pensl on your own server. Client feedback, screenshots, and GitHub tokens never touch our infrastructure. One command to start. Works on any cheap VPS.
Get started — self-host todayUp and running in under 10 minutes
Download, set three environment variables, start. No servers to configure, no databases to provision separately.
# 1. Clone the repo git clone https://github.com/blue-monkeys/pensl cd pensl # 2. Add your settings cp .env.example .env # Edit .env — set your domain, a secret, and an admin email # 3. Start everything docker compose up -d ✓ Dashboard running at https://your-server.com ✓ Widget served at /widget/pensl.js ✓ Database migrated automatically
Any VPS works
A €6/month Hetzner or DigitalOcean server is enough to run the full stack — dashboard, widget, and PostgreSQL. No special hardware needed.
PostgreSQL in a volume
All data lives in a named Docker volume on your server. Back up with pg_dump. Move to another server any time. No proprietary storage format.
Auto-migrations on startup
When you update Pensl, the database updates itself on boot. You never have to run migration commands manually.
GDPR-compliant by design
When your clients work under NDAs or are in regulated industries, where data lives is not a preference — it is a requirement. Pensl was built for this from the start.
- No data ever sent to our servers — not even usage statistics
- Client screenshots stored as files on your own disk
- GitHub tokens encrypted at rest in your database
- AI requests go directly from your server to your AI provider
- You control the encryption key — it is your own secret
- Delete data any time — no lock-in, no export hoops
Client leaves feedback
Widget on your client's staging site
Screenshot + feedback saved
Stored on your server — /data/screenshots
AI fix triggered
API call: your server → your AI key → GitHub
We never see any of this
Zero telemetry. No relay. No copy to our servers.
Who runs Pensl self-hosted
The self-hosted option is not just for large teams. It is for anyone who takes client data seriously.
Agencies with NDA clients
Some clients require that project assets — including feedback and screenshots — never leave your own systems. Self-hosting makes that easy to guarantee.
Clients in regulated industries
Healthcare, finance, legal — sectors where data residency rules apply. Running on your own EU server means you can show exactly where data lives.
Teams that hate per-seat pricing
Self-hosted Pensl has no per-seat fees. Add as many team members and clients as you like. Your only cost is the server, which starts at €6/month.
Builders who want full control
No black boxes. The source is open. You can inspect everything, modify anything, and upgrade on your own schedule. No forced migrations.
Self-hosted vs. paying for cloud seats
| Feature | Pensl self-hosted | Typical cloud SaaS |
|---|---|---|
| Monthly cost | Server only — from €6 | Per seat, scales up fast |
| Data location | Your server, your country | Vendor's cloud |
| GDPR control | You own the data | Depends on vendor's DPA |
| Team seats | Unlimited | Charged per seat |
| Client accounts | Unlimited | Often charged per project |
| Vendor lock-in | None — export any time | Proprietary export or none |
| GitHub tokens | Encrypted on your server | Stored on vendor's servers |
| Uptime dependency | Your server | Vendor's uptime |
Your clients' data belongs on your server.
One Docker command. No per-seat fees. No data ever leaves your infrastructure.
Start free — self-host today