Your client portal.
Your server. Your data.
Sell services, take payment, deliver work, invoice and support clients from one portal under your brand, installed on a server you control with one command. Your clients’ data stays with you.
- Runs on your own server
- Client data never leaves it
- One-time license, no per-seat fees
New order: Brand identity, $1,800
Showreel
See the whole portal in one go.
Forty seconds: the portal, an order from brief to invoice, and the one-command install.
Made for agencies
that sell services.
One portal that speaks your agency’s language: your name, your services, and what you call the work.
I run a
Showing every kind of agency. Pick yours.
Good morning, Maya
Your projects
- Brand identityRevision 2 of 3
- Packaging designAwaiting brief
- Social templatesDelivered
- Your nameNorthstar Studio
- “Orders” reads“Projects”
- Your domainportal.northstar.studio
- All set in Settings, no code.
How it works
From first click to final invoice.
ClientOS follows an order the whole way, so nothing falls between tools.
01Sell
Every service gets its own page on your domain. Visitors pick what they need and order on the spot, without a sales call.
02Get paid
Card, PayPal or crypto, straight to your accounts. The order exists only once the payment is confirmed.
03Brief
Right after paying, the client answers your questions in their portal. Work starts with everything you need.
04Deliver
Hand over the files on the order. The client approves or asks for a revision, and it approves itself if they go quiet.
05Bill and report
Invoices settle themselves when clients pay, and every month adds up in your reports.
Self-hosted, for real
Your clients’ data never touches our servers.
Hosted portals keep your clients, contracts and invoices on someone else's computer. ClientOS runs entirely on a server you rent and control. We never see what is inside it.
Your server
Hetzner · DigitalOcean · AWS · any Linux VPS
Client portal
portal.youragency.com
Admin
admin.youragency.com
API
api.youragency.com
PostgreSQL
every client, order and invoice
File storage
deliverables and attachments
Caddy
HTTPS, certificates renewed for you
Clients, orders, messages, invoices, files and your staff accounts all live here, in your own PostgreSQL database and storage.
The only things that leave it
- Your Resend accountthe emails you send
- Your payment gatewaysStripe, PayPal, crypto
- Vibemonk license check-inlicense and version only, twice a day
The check-in carries your signed license and the version you run. No client, order or invoice data, ever.
Keys sealed with AES-256-GCM
Gateway, email and storage keys are encrypted in the database with a secret that exists only on your server.
A least-privilege database login
The API cannot change the schema, and refuses to start as a superuser or the table owner.
Private files, short-lived links
Every file except your logo is private and reached through a signed link that expires, after 15 minutes by default.
HTTPS on every address
Certificates are issued and renewed automatically, with HSTS. Only ports 80 and 443 are open.
2FA, roles and an audit trail
Two-factor sign-in, 122 staff permissions, and a logged, read-only, time-limited "sign in as".
Backups you hold
One command dumps the database, files and settings into a folder you can copy anywhere.
Want the details? See exactly what runs on your server.
Installation
Self-hosting without the server headache.
No Docker files to write, no environment variables to fill in, no proxy to configure. If you can paste a command into a terminal, you can run ClientOS.
$ sudo ./install.sh==> Checking the server 2 CPU, 3911 MB memory, 74 GB free disk==> Checking your license ClientOS 1.4.0 is available to this key==> Checking DNS portal.clients.youragency.com → 203.0.113.24 admin.clients.youragency.com → 203.0.113.24==> Writing deploy/.env secrets generated==> Downloading ClientOS 1.4.0==> Starting the API is up ✓ ClientOS is running. https://admin.clients.youragency.com/setup
- 1
Point your domain at a server
One wildcard DNS record. Any Ubuntu or Debian server with 2 to 4 GB of memory.
- 2
Run the installer
It installs Docker, generates every password, downloads ClientOS with your license key and turns on HTTPS.
- 3
Finish in the browser
Name your agency, pick your colours and create the owner account. About two minutes.
After that, one command each
clientos updatebacks up, downloads the new release, restartsclientos rollbackback to the release beforeclientos backupdatabase, files and settings to a folder
White-label
Your clients see your brand. Never ours.
Pick two colours. ClientOS repaints the portal, sign-in, emails and invoices to match, on your own domain.
Features
Built for agencies that sell services like products.
Store, delivery, messages, billing and growth tools, working as one system.
By the numbers
Deep where agencies need depth.
- staff permissions
- 122staff permissionsgrouped into roles you buildEmailsIntegrationsReportsEdit a form+118 more
- notification types
- 76notification typesin-app and email
- Payment receiptPayments
- Brief submittedOrders
- Ticket replySupport
- payment gateways
- 5payment gatewaysplus manual crypto and credit
- Stripe
- PayPal
- NOWPayments
- CoinGate
- BTCPay Server
- Manual
- currencies
- 21currenciesnever silently converted
- USD
- EUR
- GBP
- CAD
- AUD
- INR
- BDT
- +14
- form field types
- 17form field typeswith rules and multi-pageTextDropdownCheckboxDate · Number · Hidden
- optional modules
- 7optional modulesswitch off what you do not use
- Subscriptions
- Forms
- Helpdesk
- Messages
- Coupons
- Referral program
- Traffic tracking
Technology
Production-grade, not a weekend template.
The same stack modern SaaS companies run on, packaged so it installs on a single server. Typed from the database to the button.
- Next.jsPortal and admin
- ReactInterface
- TypeScriptTyped end to end
- NestJSThe API
- PostgreSQLYour data
- RedisLive presence
- DockerContainers
- Let's EncryptAutomatic HTTPS
- Cloudflare R2File storage, optional
- ResendEmail
Apps
The client portal and the admin
Next.js
Server-rendered pages
React
Interface
Tailwind CSS
Styling, themed from your two brand colours
TypeScript
End to end, one typed monorepo
API
Every rule, permission and payment
NestJS on Fastify
The server
Better Auth
Sign-in codes, passwords, 2FA, Google
Drizzle ORM
Typed queries and migrations
Zod
Every input and setting validated
Data
On your server, in your hands
PostgreSQL
All of your data
S3-compatible storage
Built in, or your Cloudflare R2
Redis
Live presence only
Background jobs
Renewals and reminders, in PostgreSQL
Server
Installed and updated for you
Docker
Every part in its own container
Caddy
HTTPS with automatic Let’s Encrypt certificates
Node.js
Runtime
Verified downloads
Every release file checked by its SHA-256
Connects to
- Stripe
- PayPal
- NOWPayments
- CoinGate
- BTCPay Server
- Resend
- Cloudflare R2
- Cloudflare Turnstile
- Google sign-in
Why self-hosted
Stop renting the system your business runs on.
Hosted portals are quick to start and expensive to stay on. ClientOS is the same idea, installed on infrastructure you control.
Pricing
Pay once. Own it.
One license per domain, paid once. No monthly fee, no per-seat pricing, and no cut of your payments. Your only running cost is the server, from about $10 a month.
Starter
For an agency that installs it themselves.
$197one-time
3 months of updates
Get Starter- License for 1 agency
- Unlimited clients & team members
- All standard features
- Docker / one-command installer
- 3 months of updatesEvery release in that timeBug fixes, security patches and new features, each installed with one command. When it ends, ClientOS keeps running on the version you have.
- CSV data import
- Standard support
- Installation and data migration by our team
Standard
A full year of updates, with priority support.
$297one-time
12 months of updates
Get Standard- Everything in Starter
- Priority support
- CSV data import
- 12 months of updatesEvery release in that timeBug fixes, security patches and new features, each installed with one command. When it ends, ClientOS keeps running on the version you have.
- Installation and data migration by our team
Premium
Two agencies, two years, and our team sets it up for you.
$497one-time
2 years of updates
Get Premium- Everything in Standard
- License for 2 agencies
- 2 years of updatesEvery release in that timeBug fixes, security patches and new features, each installed with one command. When it ends, ClientOS keeps running on the version you have.
- Installation by our team
- Data migration assistance
- Priority deployment support
Need more than a package? We build it around you.
ClientOS shaped around how your agency works. Quoted for you, with lifetime updates.
- Everything in Premium
- Custom features and integrations for your workflow
- Installed for you, with email and payments connected
- Onboarding call for your team
- Lifetime updates and priority support
In every package
Prices in US dollars. Need more domains than your package covers? Each extra install is its own license.
- The full product: store, orders, messages, billing, tickets, reports
- Unlimited clients, staff and orders
- Your domain, your brand, no ClientOS name shown to clients
- Runs on any Ubuntu or Debian server you choose
- Keeps working when updates end
- 24/7 support
Get ClientOS
Own your client portal.
Pick a package and tell us a little about your agency. No call needed unless you want one.
Rather try it first? Get an instant demo- 1
Tell us which package
A person replies within one working day with payment details, or a demo if you asked for one.
- 2
Your license key arrives
It appears in your vibemonk.com account under Licenses, with the installer download.
- 3
ClientOS goes live on your server
Run one command yourself, or on Pro and Custom we install it and hand it over working.
FAQ