Getting started with Zephyr
What Zephyr is, what it installs on, and the order to set it up in.
Zephyr is billing and provisioning for a hosting company. It runs on your servers, against your PostgreSQL, and your customer data never leaves them.
What it installs on
A plain VPS or dedicated machine — Alpine 3.24+ with OpenRC, or Ubuntu/Debian with systemd. There is no Docker in production. One installer script sets up the apps, the database, the web server and TLS.
| Layer | What |
|---|---|
| Runtime | Node 26, TypeScript, compiled ahead of time |
| API | NestJS |
| State | PostgreSQL 18 |
| Cache and queues | Redis 8 with BullMQ |
| Front ends | Three Next.js apps — admin, customer portal, marketing |
The order to set it up in
- Install. Point DNS at the box first — the installer requests certificates for the apex and three subdomains.
- Sign in to the admin with the credentials the installer prints. They are shown once.
- Set your brand, currency and tax. Tax matters early: changing it after invoices exist means credit notes rather than edits.
- Connect a payment gateway. Stripe, PayPal or Mollie.
- Connect provisioning. kstack, cPanel, Plesk, DirectAdmin, Enhance, Proxmox, Hetzner or OpenStack.
- Build a catalogue — or import one from WHMCS or HostBill.
- Send a test order through end to end before you point a customer at it.
Money is held as integer minor units
Everywhere. 1299 is £12.99. Nothing in this platform stores money as a float, and anything you build against its API should not either.
Was this helpful?
Still stuck? Contact support.

