CASE STUDY • HOMELAB • RMM & GESTIONE CLIENT

TacticalRMM Self-Hosted:
Un RMM Gratuito per Gestire i Client

Gestire più client come consulente IT freelance senza un RMM (Remote Monitoring and Management) è possibile — ma è come lavorare senza un CRM: ti arrangi finché i clienti sono pochi, poi la situazione ti sfugge di mano. Sai che un PC non si aggiorna da mesi solo quando il cliente ti chiama per un problema. Sapere che un disco è al 95% di utilizzo quando l'utente ha già perso i dati è tardi.

Le soluzioni RMM enterprise (NinjaRMM, Atera, ConnectWise) costano dai 3 ai 10 euro per device al mese — cifre sostenibili per un MSP con 200 clienti, molto meno per un consulente indipendente con 30-50 macchine gestite. TacticalRMM risolve questo problema alla radice: è open source, completamente self-hosted, gratuito per Windows e Linux, e ha una community attiva. Il controllo sui dati dei clienti rimane completamente nelle tue mani.

1. Perché TacticalRMM — e Cosa Non È

TacticalRMM è un RMM basato su Django (backend), Vue.js (frontend) e MeshCentral (per il remote desktop). Nel mio stack convive con RustDesk per il remote desktop su reti con NAT complessi — TacticalRMM usa MeshCentral che funziona bene nella maggior parte dei casi, ma RustDesk è più affidabile in certi scenari di connettività.

Quello che TacticalRMM ti dà:

Quello che non ti dà gratuitamente: gestione macOS e Linux tramite agent completo richiede il code signing, disponibile solo con una sponsorship GitHub a pagamento (circa 50 euro/mese). Per ambienti misti Mac+Windows è una limitazione rilevante — nel mio caso ho preferito non pagare la fee e gestire i Mac separatamente.

2. Architettura della VM su Proxmox

TacticalRMM richiede una VM dedicata, non un container LXC. Il motivo è che installa e gestisce il proprio nginx internamente, con certificati SSL gestiti tramite Let's Encrypt — questa architettura non è compatibile con i namespace di rete dei container LXC.

Specifiche minime che ho adottato:

TacticalRMM richiede tre sottodomini dedicati che devono puntare all'IP pubblico del server:

L'installazione è completamente automatizzata tramite lo script ufficiale, che gestisce anche il certificato SSL via Let's Encrypt con DNS challenge. È uno degli installer più ben fatti che abbia visto in ambito open source — in 20-30 minuti hai un sistema funzionante.

3. Il Problema del Reverse Proxy — e Come Risolverlo

Questo è il punto che la documentazione ufficiale tratta in modo generico e che nella pratica richiede qualche ragionamento in più.

Nel mio homelab ho già un reverse proxy centralizzato — Nginx Proxy Manager (NPM) — che gestisce tutti i servizi esposti su internet. NPM occupa la porta 443. TacticalRMM, internamente, gestisce il suo nginx con SSL terminato dentro la VM. Non puoi semplicemente fare un forward dalla porta 443 di NPM alla porta 80 della VM — perché la VM risponde già su HTTPS.

La soluzione funzionante è: NPM fa da proxy verso la VM su HTTPS, disabilitando la verifica del certificato interno (che è valido ma autofirmato internamente). Ogni sottodominio ha il proprio proxy host in NPM con questa configurazione:

# Configurazione NPM per ogni sottodominio TacticalRMM
Scheme: HTTPS
Forward Hostname/IP: IP-della-VM
Forward Port: 443
WebSocket Support: ON  ← fondamentale per MeshCentral e gli agent
SSL: certificato Let's Encrypt gestito da NPM

# Custom Nginx Configuration (Advanced tab)
proxy_ssl_verify off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

I record DNS interni (nel mio caso AdGuard Home) puntano tutti e tre i sottodomini all'IP del reverse proxy, non direttamente alla VM. Questo permette di usare gli stessi domini sia dall'interno che dall'esterno della rete.

4. Il Dettaglio che Manca nella Documentazione: L'Utente Admin

Questo è il gotcha che ha fermato me la prima volta e che vedo spesso citato anche nei forum.

Al termine dell'installazione, lo script stampa a video alcune credenziali. Quelle credenziali sono di MeshCentral, non di TacticalRMM. Se provi ad usarle per accedere all'interfaccia web di TacticalRMM, ottieni un errore di autenticazione.

L'utente admin di TacticalRMM va creato manualmente post-installazione tramite il management command Django:

# SSH nella VM TacticalRMM
cd /rmm
source ./env/bin/activate
cd api/tacticalrmm
python manage.py createsuperuser

Solo dopo questo step puoi accedere all'interfaccia web con le credenziali che hai scelto.

5. Struttura Client/Site e Onboarding degli Agent

TacticalRMM organizza i device in una gerarchia Clients → Sites → Agents. Prima di onboardare qualsiasi device, configura questa struttura: crea un client per ogni azienda o cliente che gestisci, e uno o più Site per ogni sede o gruppo logico.

L'agent Windows si scarica direttamente dalla GUI di TacticalRMM — vai su Clients, seleziona il client e il site, clicca su "Generate Agent" e scarichi un installer .exe preconfigurato. L'eseguibile contiene già tutte le informazioni per connettersi alla tua istanza: nessuna configurazione manuale sul client, nessun file di configurazione da copiare.

Nel mio caso ho onboardato device appartenenti a quattro ambienti distinti: il mio homelab, uno studio di architettura, una location per eventi e un'abitazione privata. La separazione Client/Site permette di gestire policy e alert diversi per ogni ambiente senza interferenze.

6. Script PowerShell: Windows 11 su Hardware Non Supportato

Questo è uno dei casi d'uso più richiesti e meno documentati bene. Microsoft ha una lista di requisiti hardware per Windows 11 (TPM 2.0, CPU generazione minima, Secure Boot) che esclude molti PC ancora perfettamente funzionanti. La realtà operativa è che Windows 11 gira bene su hardware "non supportato" — e con TacticalRMM puoi automatizzare l'upgrade in modo controllato su tutti i device gestiti.

La policy che ho implementato usa uno script PowerShell eseguito come task automatizzato da TacticalRMM. Lo script:

# Bypass compatibilità Windows 11 (chiavi di registro ufficiali)
$regPath = "HKLM:\SYSTEM\Setup\MoSetup"
if (!(Test-Path $regPath)) { New-Item -Path $regPath -Force }
Set-ItemProperty -Path $regPath -Name "AllowUpgradesWithUnsupportedTPMOrCPU" -Value 1 -Type DWord

# Verifica OS attuale
$currentBuild = (Get-WmiObject Win32_OperatingSystem).BuildNumber
if ([int]$currentBuild -ge 22000) {
    Write-Host "Windows 11 già installato (Build $currentBuild)"
    exit 0
}

# Scarica e avvia Installation Assistant
$url = "https://go.microsoft.com/fwlink/?linkid=2171764"
$installer = "$env:TEMP\Windows11InstallationAssistant.exe"
Invoke-WebRequest -Uri $url -OutFile $installer
Start-Process -FilePath $installer -ArgumentList "/quietinstall /skipeula /auto upgrade" -Wait

Il task in TacticalRMM è configurato con un timeout adeguato (l'upgrade richiede 30-60 minuti) e viene eseguito fuori orario lavorativo. Il risultato — successo o errore — appare nel log del task e può inviare un alert email.

💡 Gestisci più sedi o più clienti e vuoi un monitoraggio centralizzato dei PC? Parliamone — prima consulenza gratuita.

7. Integrazione Email per gli Alert

TacticalRMM supporta SMTP per gli alert — disco pieno, agente offline, script fallito. La configurazione è in Settings → Email Settings. Nel mio caso punta al mail server self-hosted del cluster, ma funziona con qualsiasi provider SMTP (Gmail, Brevo, Amazon SES).

Un consiglio pratico: configura gli alert in modo progressivo. Inizia con soglie conservative (disco >90%, agente offline da >30 minuti) e affina nel tempo. Troppi alert fin dall'inizio porta a ignorarli tutti — esattamente l'opposto di quello che vuoi.


Vale la Pena?

Per un consulente IT indipendente che gestisce anche solo 20-30 device su più clienti, la risposta è quasi sempre sì. Il tempo risparmiato solo dagli aggiornamenti automatizzati e dal monitoring proattivo ripaga l'investimento iniziale di setup (qualche ora) nelle prime settimane. Il fatto che sia completamente gratuito per Windows e Linux, self-hosted e senza vendor lock-in è un bonus difficile da ignorare.

La limitazione macOS è reale e va valutata caso per caso. Per ambienti prevalentemente Windows è irrilevante. Per chi gestisce principalmente Mac, esistono alternative più adatte.

Vuoi un monitoraggio centralizzato dei PC della tua azienda?

Implementiamo soluzioni RMM e gestione remota per PMI a Firenze e nel Chianti. Alert proattivi, aggiornamenti automatizzati, controllo totale.

Richiedi una consulenza