See which client needs attention.
Monitor every client's Proxmox, backups, Docker, Kubernetes, TrueNAS and vSphere from one provider portal that shows which clients have alerts, then open that client's own workspace to investigate. Pulse MSP runs on your infrastructure, with dashboards, alerts and reports kept separate for each client.
Two client workspaces free for 60 days, no card required. Setup needs your own host. To try it, you need no domain or DNS token. When you need a third client, buy from the Plan tab in your provider portal: from $69/mo for 3 clients.
Reading up first? See the multi-client architecture guide and the honest Checkmk comparison.
A runtime per client
Each client workspace is its own isolated Pulse runtime with its own data directory, not a tag filter inside one shared install.
On your infrastructure
You run the workspaces on your own infrastructure, next to your clients, so client monitoring data stays with you.
Per-client reports
Scheduled reports from each client's own workspace, carrying your name and logo, so each client sees only their own data.
Every workspace is full Pulse
Client workspaces are not cut-down views. One client runs Proxmox, another runs Docker on Podman hosts, a third runs Kubernetes: each workspace monitors that client's whole stack, with the same Pulse the homelab community runs.
What you run as the provider
Clients get full Pulse; you get the layer above it. Your Pulse Account portal holds the whole client fleet, and every workspace can produce client-ready reports.
One portal for the whole fleet
Your Pulse Account lists every client workspace with its setup status, live alert rollup, and runtime health, and tells you which client to review next. Critical alerts surface at the fleet level, so the morning check is one screen, not ten logins.
- Setup, alerts, and health per client at a glance.
- A repeatable onboarding path for each new client.
- Open any client workspace with one click when something needs attention.
Reports your clients actually see
Every workspace generates scheduled PDF performance reports covering uptime, resource usage, and fleet health over the period, ready to land in a client inbox, carrying your name and logo, not ours.
- Per-client scheduled reports from each workspace.
- Uptime and resource trends over 24h, 7d, or 30d periods.
- Report branding with your name and logo, included in every plan and the evaluation.
What you actually deploy
MSP ships as a supported deploy bundle, not a pile of containers you wire together. One Docker Compose stack on one host gives you Traefik ingress with wildcard TLS, a hardened Docker socket proxy, and the control plane that provisions client workspaces.
Day-two operations are part of the product
The things that decide whether a monitoring tool survives contact with a real client fleet are shipped and documented, not left to you.
- Setup that validates its configuration and pulls digest-pinned images before it requests your evaluation license.
- Upgrades that take a backup first, plus restore commands that bring workspaces back from backup or disk.
- An install-proof script that provisions two test workspaces on a fresh deployment and checks them.
- Portal sign-in by one-time link rather than another password to rotate when staff leave.
Plans
Choose a plan by the number of clients you manage. Each plan covers unlimited monitored systems inside each client workspace, so you are charged by client, not by endpoint. Start with the free evaluation. When you are ready to buy, open Plan in your provider portal, choose monthly or annual billing and pay through Stripe. Your deployment fetches and applies its licence by itself, and Manage billing in the same place changes plan or cancels renewal. Annual is two months free.
Free for 60 days, two client workspaces
Setup issues its own evaluation licence, so there is no form, card or approval between you and the first two client workspaces.
- A fresh Ubuntu 24.04 hostSSH with sudo. Tested on 2 vCPU, 4 GB RAM, 40 GB disk.
- Ports 80 and 443 openFrom the internet. Your clients' agents reach it on 443.
- A domain is optionalWithout one, setup builds a trial address from the host's IP.
Start the evaluation
-
Point a domain at the host, or skip this
Skip this step to use a trial address. With your own domain, add both as
Arecords to the host's public IP; on Cloudflare, set proxy status to DNS only. Use any subdomain you like; it becomes your portal address.pulse.example.comPortal*.pulse.example.comOne address per client -
Download and verify the signed bundle
On the host, in Bash. It stops before extracting anything if the signature or checksum fails. A minimal image may need
sudo apt install -y curl openssh-clientfirst. This is the v6.8.0 release candidate, so client workspaces show a Preview badge. When v6.8.0 ships, upgrade with its bundle.V=v6.8.0-rc.1; B=pulse-provider-msp-$V.tar.gz U=https://github.com/rcourtman/Pulse/releases/download/$V curl -fsSLO "$U/$B" && curl -fsSLO "$U/$B.sha256" && curl -fsSLO "$U/$B.sshsig" && ssh-keygen -Y verify -I pulse-installer -n pulse-install -s "$B.sshsig" \ -f <(echo 'pulse-installer namespaces="pulse-install" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZd/DaH+BldzOkq1A8KVTcFk73nAyrE8aJOyf7i00jm pulse-installer') < "$B" && sha256sum -c "$B.sha256" && tar -xzf "$B" && cd "pulse-provider-msp-$V"
-
Run setup
It installs Docker and asks for a domain, an email for certificate notices and, for your own domain, a Cloudflare API token with Zone · Read and DNS · Edit. Press Enter at the domain prompt for a trial address, or at the token prompt to issue certificates over port 80 instead. A trial address is for evaluation only: moving to your own domain later means reinstalling every agent. It ends with Pulse Provider MSP is running.
sudo bash ./setup.sh
-
Sign in to your portal
No email service is set up yet, so this prints your sign-in link instead of sending it. Run it again any time you need a new link.
cd /opt/pulse-provider-msp && sudo docker compose run --rm control-plane \ provider-msp bootstrap --account-name "Your MSP" --owner-email [email protected]
-
Add your first client
In the portal choose Add client, then Install agents and run the command it gives you on one of your own machines first. You are done when that machine appears in the client's workspace. Open client takes you into it, where Alerts sets where its alerts go. Polling a client's Proxmox or PBS also needs a route from this host to that client's network; see connecting over your VPN.
Another DNS provider, an air-gapped host, alert routing, reports and upgrades are in the full operations guide. Stuck on a step? Tell us where.
$69/mo or $690/yr
Up to 3 client workspaces.
$149/mo or $1,490/yr
Up to 5 client workspaces.
$249/mo or $2,490/yr
Up to 15 client workspaces.
$399/mo or $3,990/yr
Up to 40 client workspaces.
Choose MSP when
- You want a provider-owned Pulse entitlement across isolated client workspaces.
- Clients need their own dashboards, alert routing, and reports.
- You want one commercial relationship covering the whole client fleet.
Stick with self-hosted plans when
- Each customer runs an independent Community installation.
- Each customer owns a separate Pro subscription for their own environment, with your company providing administration and support.
Contractor administration alone does not require MSP. Read the customer-owned licensing FAQ.