Modern, glassmorphic self-hosted RMM powered by MeshCentral 2 — engineered for NinjaRMM feature parity and beyond.
Zero-trust fleet orchestration with OpenID Connect (PKCE) SSO, silent background tools, 4-tier cascading policy & alert governance, Data Archive Vault offboarding, live hypervisor & vendor-native specialty appliance APIs, AES-256-GCM encrypted backups, and low-latency remote control.
All deep architectural guides, API references, security specifications, and setup walkthroughs are maintained in the GitHub Wiki:
- Installation & Setup — System requirements (Node.js 20+), bare-metal
systemdsetup (safe alongside existing/opt/meshcentral), multi-arch (linux/amd64&linux/arm64) Docker Compose deployment, First-Run Super Admin bootstrap, and Reverse Proxy / Let's Encrypt TLS OOBE Wizard. - Architecture & Security — Scrypt & OpenID Connect (
S256 PKCE) SSO authentication,HttpOnlysessions with live WebSocket revocation, strict multi-tenant RBAC (super_admin,technician,client_admin), AES-256-GCM vault (including encryptedsecretcustom attributes), per-user RFC 6238 Step-Up TOTP MFA, strictContent-Security-Policy(CSP), DNS-rebinding SSRF defense, and Scoped Vendor Guest Portal. - Offboarding & Data Archive Vault — Clean endpoint & client offboarding, offline queue & auto-archive rules, preserved BitLocker/LAPS Data Archive Vault, automatic resurrection on wake/reinstall, and deleted-client tombstones for quiet self-offboarding.
- Hierarchical Policy & Condition Alerting Engine — 4-tier cascading governance (
Global -> Client -> Site -> Role), customizable LAPS local admin username & offline rotation deferral, and per-tier multi-channel state notifications (tenant-scoped Web UI, SMTP Email, Direct PSA Ticket). - MeshCentral 2 Federation & QuickSupport Portal — Multi-instance MeshCentral 2 federation, customer-facing QuickSupport portal (
/remote), 6-stage Authenticode signing pipeline, zero-touch Intel AMT/vPro CIRA, and 5-tier peer-relayed Wake-on-LAN. - Specialty Endpoints, Vendor APIs & Hypervisor Orchestration — Live hypervisor polling & VM power/snapshot actions for Proxmox VE, VMware vSphere/ESXi, and Hyper-V, plus vendor-native polling for Ubiquiti UniFi OS, DMTF Redfish (iDRAC/iLO/BMC), FortiOS, Synology DSM, APC NMC3, VoIP PBXs, Printers, and generic SNMP/TCP/TLS probes.
- Backups, Self-Updater & Disaster Recovery — Unified AES-256-GCM encrypted
.vrmm-backup.gz(VRMMENC1) archives, MFA-gated Backup Recovery Key Reveal & Escrow, reboot-resilient scheduled snapshots, AWS SigV4 S3/R2/MinIO/B2 offsite sync, cross-machine live vault reload, and full bare-metal Git + build + auto-rollback self-updater. - Silent Background Management Suite — Background PowerShell/Bash PTY shells, Process & Services manager, Remote Registry/Config editor, Dual-Pane File Manager, Event Logs, and Task Scheduler.
- Patch Management & Deployments — OS & 3rd-party patching, NVD CVE/CVSS v3.1 scoring, OEM driver catalogs, and KB rollback.
- Self-Healing & Script Orchestration — Condition watchdogs with circuit-breaker flap protection, RBAC script library, and
$vitrine.*runtime token injection. - Two-Way PSA & REST API — Bidirectional ITFlow ticketing, HMAC-SHA256 authenticated webhooks, full
v2.5.1REST/WebSocket API reference, and Executive QBR reporting.
graph TD
Client["Managed Endpoints (Windows / Linux / macOS)"] -->|TLS WebSocket Tunnel & CIRA| MC["MeshCentral 2 Federation"]
Appliances["Specialty Endpoints & Hypervisors (Proxmox / vSphere / UniFi / Redfish)"] -->|Vendor REST & Probes| API["Vitrine Fastify Control Plane"]
IdP["Enterprise OIDC IdP (Authentik / Okta / Entra ID)"] <-->|Auth Code + S256 PKCE| API
UI["Code-Split Glassmorphic SPA + /remote & /guest Portals"] -->|Strict CSP + Session Auth + WS| API
API <-->|Control Channel / RPC| MC
API --> DB[("SQLite WAL Database (Schema v16)")]
API --> Vault[("AES-256-GCM At-Rest Secret Vault")]
API --> Archive[("Data Archive Vault & Tombstone Registry")]
API --> Policy["4-Tier Policy & Condition Alert Matrix"]
API -->|VRMMENC1 Encrypted Archives| Backup["Atomic Backups & S3 SigV4 Offsite Sync"]
API -->|RFC 3161 Authenticode| Signer["6-Stage Code Signing & Installer Pipeline"]
API <-->|Bi-Directional Sync| PSA["ITFlow PSA / Ticketing API"]
API -->|TLS SMTP| Mail["Outbound SMTP Notification Relay"]
- Operating System: Linux (
x86_64/amd64oraarch64/arm64, Debian 12+ or Ubuntu 22.04/24.04 LTS recommended) or any Docker host. - Runtime: Node.js 20+ & npm (for bare-metal); Docker 24+ & Docker Compose v2+ (for containerized deployments).
- Existing MeshCentral Safety:
install.sh,uninstall.sh, and the runtime engine strictly isolate all Vitrine files to the repository directory (./data,./branding,./dev-meshcentral) and never modify or write to an existing/opt/meshcentralinstallation.
git clone https://github.com/TylerHats/Vitrine-RMM.git
cd Vitrine-RMM
docker compose up -dOr pull the official multi-architecture (linux/amd64 & linux/arm64) image directly from Docker Hub (tylerhats/vitrine-rmm:2.5.1 / tylerhats/vitrine-rmm:latest). See DOCKER_README.md for full volume and environment details.
git clone https://github.com/TylerHats/Vitrine-RMM.git
cd Vitrine-RMM
./install.shinstall.sh verifies Node.js 20+, builds production frontend & backend bundles, locks down ./data permissions (chmod 700), and optionally installs/restarts vitrine-rmm.service (with VITRINE_ENABLE_GIT_SELF_PULL=true enabled for one-click web UI updates).
Open http://localhost:8080/ in your browser:
- Create Your Initial MSP Super Admin: On a fresh database, Vitrine starts completely clean (zero demo records or hardcoded accounts) and presents the Initial Super Admin Bootstrap screen, enrolling your per-user RFC 6238 TOTP authenticator secret and generating 8 single-use emergency recovery codes.
- Guided Setup Wizard: Configure white-label branding, Reverse Proxy & TLS domain (
Nginx,Caddy,Traefik, orCloudflare Tunnel), MeshCentral 2 connection, Enterprise OIDC SSO, SMTP/PSA integrations, and Backup Encryption Key Escrow.
- Zero-Trust Auth, Enterprise OIDC PKCE SSO, Strict RBAC & AES-256-GCM Vault:
- Scrypt Local Auth + OpenID Connect (
S256 PKCE) SSO: Memory-hard scrypt (N=16384) local authentication alongside full Authorization Code +S256 PKCESSO (Authentik,Keycloak,Pocket ID,Okta,Entra ID) with live discovery testing, cryptographicstate/noncevalidation, and optional JIT technician provisioning. - Strict Multi-Tenant RBAC & WebSocket Live Revocation: Server-side tenant isolation across
super_admin,technician, andclient_adminroles (including tenant-isolated notifications and sub-route lockdown),Originvalidation on/ws/*upgrades, and live session token verification on every WebSocket frame/tick. - AES-256-GCM Secret Vault & Per-User Step-Up TOTP MFA: Encrypts LAPS passwords, BitLocker/LUKS/FileVault recovery keys,
secret-type Custom Attributes, MeshCentral tokens, hypervisor/specialty API keys, and backup keys at rest (enc:v1:...). Revealing LAPS, BitLocker,secretcustom fields, Backup Recovery Keys, or Break-Glass exports requires per-user RFC 6238 TOTP Step-Up MFA with anti-replay protection and single-use recovery codes. - Strict
Content-Security-Policy& DNS-Rebinding SSRF Protection: Enforces strictCSP(script-src 'self'; object-src 'none') and pre-connection DNS resolution validation (validateOutboundHostSafety) blocking loopback, RFC1918, link-local (169.254.169.254), and IPv6 ULA/mapped rebinding targets across all outbound probes and integrations.
- Scrypt Local Auth + OpenID Connect (
- Customizable LAPS Local Admin & Offline Rotation Deferral:
- Customize the managed local administrator username (
laps_account_name, e.g.ClientITAdmin) across Global, Client, Site, and Role policy tiers, plus generate offline Break-Glass LAPS Exports (MFA-gated). - Offline Lockout Protection: Scheduled LAPS rotations automatically defer (
rotation_pending_online = 1) whenever an endpoint is offline — and skip if offboarding is pending — ensuring Vitrine never overwrites its vaulted password before the endpoint confirms local OS password rotation.
- Customize the managed local administrator username (
- Clean Endpoint & Client Offboarding + Data Archive Vault:
- Online Clean Offboard & Offline Queueing: Reverts policies, handles the managed local admin account per 3 contextual policy rules (
Explicit Device Offboard,Client Archived,Client Deleted), and cleanly removes agent software on online endpoints while queueing offline endpoints (with force-archive and auto-archive-after-X-days options). - Data Archive Vault & Tombstone Registry: Preserves offboarded endpoints and archived clients in their last-known state while automatically resurrecting waking endpoints under active clients and quietly self-offboarding endpoints belonging to permanently deleted clients.
- Online Clean Offboard & Offline Queueing: Reverts policies, handles the managed local admin account per 3 contextual policy rules (
- 4-Tier Cascading Policy & Condition Notification Matrix:
- Configure threshold-based fleet condition rules across Global, Client, Site, and Role tiers with independent per-channel routing (Tenant-Scoped Web UI Bell, SMTP Email, and Direct PSA Ticket Creation) and deduplication cooldowns.
- Live Hypervisor Orchestration, Specialty Vendor APIs & Interactive Setup Guides:
- Live Hypervisor Cluster Sync & VM Actions: Polls Proxmox VE (
/api2/json/cluster/resources&PVEAPIToken), VMware vSphere/ESXi (/api/vcenter/vm), and Microsoft Hyper-V (via agentless WinRM/MeshCentral bridge) with live VMstart,stop,reboot, andsnapshotdispatch. - Vendor-Native Specialty Endpoints: Native polling for Ubiquiti UniFi OS, DMTF Redfish (
iDRAC 9,iLO 5/6,Supermicro BMC), FortiOS, Synology DSM, APC Smart-UPS NMC3, VoIP PBXs, Printers/MFPs, and WAN SSL/TLS Expirations with a step-by-step Vendor Setup Walkthrough Modal.
- Live Hypervisor Cluster Sync & VM Actions: Polls Proxmox VE (
- Multi-Instance MeshCentral Federation, QuickSupport (
/remote) & Authenticode Pipeline:- Federate multiple isolated MeshCentral 2 instances, host a toggleable branded QuickSupport Portal (
/remote), and sign agent installers via a 6-stage Authenticode / Cloud HSM pipeline.
- Federate multiple isolated MeshCentral 2 instances, host a toggleable branded QuickSupport Portal (
- Code-Split Glassmorphic SPA, Interactive KVM & Silent Background Tools:
- Fast route-level lazy-loaded SPA (
~25 kBgzipped core entry), WebRTC KVM, Headless Ghost sessions, Intel AMT/vPro KVM, background SYSTEM/User PTY shells, Process/Service/Registry/File/Event/Task managers, CVE patch orchestration, and 5-tier subnet-peer Wake-on-LAN.
- Fast route-level lazy-loaded SPA (
- Unified Encrypted Self-Backups (
VRMMENC1), Key Escrow & Full Git Self-Updater:- Reboot-resilient scheduled hot SQLite snapshots bundled with
.vault-key.jsonand branding into AES-256-GCM.vrmm-backup.gzarchives, Step-Up MFA Backup Recovery Key Reveal/Export & Escrow Reminders, cross-machine live vault key reload (reloadVaultMasterKey()), S3 SigV4 offsite sync, and full bare-metal Git fetch + build + automatic rollback self-updates.
- Reboot-resilient scheduled hot SQLite snapshots bundled with
To stop background services, remove build artifacts, and optionally purge local Vitrine data vaults (leaving any neighboring /opt/meshcentral untouched):
./uninstall.shVitrine RMM is open source licensed under the GNU General Public License v3.0 (GPL-3.0). See LICENSE for details.
