Skip to content

Installation and Setup

Tyler Hatfield edited this page Oct 11, 2026 · 1 revision

Installation & Setup Guide

This guide covers everything required to deploy Vitrine RMM in production, whether running as a bare-metal background service on Debian/Ubuntu or within a containerized Docker Compose environment.


1. System Requirements

Hardware Prerequisites

  • CPU: 2 Cores minimum (4 Cores recommended for fleets > 500 endpoints).
  • RAM: 2 GB minimum (4 GB+ recommended).
  • Disk: 20 GB free storage (SSD NVMe recommended for high-frequency telemetry caching).
  • Network Ports:
    • 8080/tcp — Vitrine RMM Web Dashboard & API (can be reverse proxied via Nginx/Caddy on 443).
    • 443/tcp (or 4430/tcp) — MeshCentral 2 WebSocket agent tunnel and WebRTC media stream.

Supported Operating Systems

  • Debian 12 (Bookworm) / Debian 11 (Bullseye)
  • Ubuntu 24.04 LTS / Ubuntu 22.04 LTS
  • Docker 24.0+ & Docker Compose v2+

2. Automated Bare-Metal Installation (Debian / Ubuntu)

Vitrine RMM provides an automated installation script that checks dependencies, installs dependencies, compiles production frontend and backend bundles, and registers a systemd background service:

# Clone the repository
git clone https://github.com/TylerHats/Vitrine-RMM.git
cd Vitrine-RMM

# Run automated installer
chmod +x install.sh
./install.sh

What install.sh Performs:

  1. Validates Node.js (18+) and npm.
  2. Installs workspace, backend, and frontend dependencies.
  3. Compiles the modern React 18 frontend into static assets in frontend/dist.
  4. Compiles the TypeScript backend into backend/dist.
  5. Generates /etc/systemd/system/vitrine-rmm.service.
  6. Enables and starts the background service on system boot.

Managing the Service via Systemd:

# Check status
sudo systemctl status vitrine-rmm

# View live service journal logs
sudo journalctl -u vitrine-rmm -f

# Restart service
sudo systemctl restart vitrine-rmm

# Stop service
sudo systemctl stop vitrine-rmm

3. Docker Compose Deployment

Vitrine RMM provides a multi-stage production Docker container and compose definition:

version: '3.8'

services:
  vitrine-rmm:
    image: tylerhats/vitrine-rmm:latest
    container_name: vitrine-rmm
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
      - ./branding:/app/branding
    environment:
      - PORT=8080
      - DATA_DIR=/app/data
      - NODE_ENV=production
    restart: unless-stopped

Launching the Stack:

docker compose up -d

Backing Up Docker Data:

All database schemas, policy configurations, and credentials persist in ./data. To create a hot backup:

tar -czvf vitrine_backup_$(date +%F).tar.gz ./data ./branding

4. First-Run Setup & Onboarding Wizard

Once Vitrine RMM is running, navigate to http://localhost:8080 in your web browser.

Click Setup Wizard in the sidebar to configure:

  1. Branding & Aesthetics: Set your custom organization name, upload custom logos, select primary accent colors, and choose your preferred glassmorphic blur intensity.
  2. MeshCentral 2 Engine: Input your MeshCentral server URL and API credentials token to link your remote execution engine.
  3. Outbound SMTP: Configure your corporate SMTP relay (host, port, TLS credentials, sender address) for instant alert dispatches.
  4. SSO / Authentik Integration: Connect your OpenID Connect issuer URL and Client ID for enterprise authentication.

5. Clean Uninstallation

To cleanly stop background services, remove build caches, and optionally wipe database files:

./uninstall.sh