Skip to content
by
Self-hostedThe client portal for agencies

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.

portal.northstar.studio

Good morning, Maya

Your projects

New project
Needs youApprove logo v3Revision 2 of 3 is ready for you.Open
Active projectsView all
  • 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.

  1. 01Sell

    Every service gets its own page on your domain. Visitors pick what they need and order on the spot, without a sales call.

  2. 02Get paid

    Card, PayPal or crypto, straight to your accounts. The order exists only once the payment is confirmed.

  3. 03Brief

    Right after paying, the client answers your questions in their portal. Work starts with everything you need.

  4. 04Deliver

    Hand over the files on the order. The client approves or asks for a revision, and it approves itself if they go quiet.

  5. 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. 1

    Point your domain at a server

    One wildcard DNS record. Any Ubuntu or Debian server with 2 to 4 GB of memory.

  2. 2

    Run the installer

    It installs Docker, generates every password, downloads ClientOS with your license key and turns on HTTPS.

  3. 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, restarts
  • clientos rollbackback to the release before
  • clientos backupdatabase, files and settings to a folder
Read the installation guide

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.

By the numbers

Deep where agencies need depth.

staff permissions
122staff permissionsgrouped into roles you build
EmailsIntegrationsReportsEdit 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-page
Text
Dropdown
CheckboxDate · 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.

What you pay for
Hosted:A monthly plan that grows with seats, clients or features
One license, paid once, plus a server from about $10 a month
Where client data lives
Hosted:On the vendor’s servers, under their terms
In your own database, on your server. We never see it
Who can read it
Hosted:You, the vendor’s staff and their subprocessors
Only the people you give an account to
Payments
Hosted:Some platforms take a cut or limit gateways by plan
Straight to your Stripe, PayPal or crypto account, no cut
Branding
Hosted:Their domain or a paid add-on, and their name in places
Your domains, logos, colours, words and emails
Leaving
Hosted:Export what they let you, then lose the rest
Your database and files are already yours. Back them up any time

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
Most Popular

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
Custom package

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. 1

    Tell us which package

    A person replies within one working day with payment details, or a demo if you asked for one.

  2. 2

    Your license key arrives

    It appears in your vibemonk.com account under Licenses, with the installer download.

  3. 3

    ClientOS goes live on your server

    Run one command yourself, or on Pro and Custom we install it and hand it over working.

No spam, no newsletter. One reply from a person.

FAQ

Questions agencies ask.

What does self-hosted mean in practice?
ClientOS runs on a server you control, with its own database, file storage and HTTPS. Email goes through your Resend account and payments go straight to your gateways. Your data never passes through our servers: the only thing ClientOS sends us is a license check-in, twice a day.
What do I need to run it?
A Linux VPS with 2 to 4 GB of RAM, a domain you can add DNS records to, your license key and a Resend account. One command installs everything else. The installation guide walks through it step by step.
I am not technical. Can you set it up?
Yes. Installing is one command, but on the Premium and Custom packages we do it for you: we install it on your server, connect email and payments, and hand over a working portal.
Can I move over from my current client portal?
Coming from Wayfront (Service Provider Pro)? On Starter and Standard you bring your clients in yourself from a CSV file, with column mapping. On Premium and Custom our team moves your data for you, or builds a migration tool for it.
Which payment methods can my clients use?
Cards and wallets through Stripe, PayPal, crypto through NOWPayments, CoinGate or your own BTCPay Server, manual payments to your own wallets, and account credit. Money goes straight to your accounts.
Is it white-label?
Completely. It runs on your domains with your logos, colours, client-facing words and email templates. Clients never see ClientOS.
Can you see my clients or their data?
No. ClientOS runs entirely on your server, and your database and files never leave it. The only thing it sends us is a license check-in twice a day: the signed license and the version you run.
What happens when my updates end?
Nothing stops. ClientOS keeps running on the version you have, and you can renew to get newer releases. Lifetime updates come with the Custom package.
Do I get the source code?
You get ClientOS as ready-built, verified Docker images and a one-command installer, which is what keeps installing and updating to a single command. If you need a change, ask us: custom work is available.
What kinds of agencies is it for?
Any team that sells defined services: design, development, marketing, SEO, content, video or consulting, one-off or on retainer. Service types, statuses and client-facing words are all yours to define.
What languages does the portal support?
The interface is in English. You can rename the words your clients see, such as menu labels and headings, from the settings.