Il mio homelab è cresciuto a strati: prima un Raspberry Pi, poi due, poi un mini PC, poi un piccolo server ARM su un tier gratuito di un provider cloud, qualche switch managed, una decina di cavi etichettati male. A un certo punto, in un assemblaggio domenicale, ho passato venti minuti a cercare un cavetto da console seriale che ero sicuro di avere “in quella scatola lì”. Ho aperto tre scatole, non l’ho trovato, e ho ordinato il quarto in vita mia. Quella sera ho deciso di mettere ordine.
Snipe-IT è un asset management open source pensato per piccole aziende, ma scalato bene anche per chi ha un homelab di media complessità. Lo uso da un anno e mezzo per tracciare hardware, licenze, accessori e dove ho messo cosa.
Installazione
Lo faccio girare su un Raspberry Pi 5 8GB con Debian Bookworm, in container Docker. La compose minima:
mkdir -p ~/snipeit && cd ~/snipeit
curl -fsSL https://raw.githubusercontent.com/snipe/snipe-it/master/docker-compose.yml -o docker-compose.yml
Edito il file .env per APP_URL, password DB e SMTP, poi:
docker compose pull
docker compose up -d
Snipe-IT richiede MariaDB (incluso nel compose) e PHP 8.x. Il primo bootstrap inizializza il database ed emette la chiave APP_KEY: salvarla altrove subito, perché senza non si decifra il backup del database.
Davanti metto un reverse proxy con Caddy o nginx e certificato Let’s Encrypt automatico. L’interfaccia parla HTTPS sul mio dominio interno, mai esposta su internet pubblica.
Modello dati che uso
Snipe-IT distingue Assets (oggetti seriali tipo un Raspberry Pi), Accessories (cose contate ma non singolarmente tracciate tipo cavi USB-C), Consumables (cose che si esauriscono tipo viti M3), Licenses (chiavi software con expiry), Components (RAM, dischi che sostituisco). Le categorie che ho creato:
– SBC: Raspberry Pi, Orange Pi, NanoPi
– Mini PC: NUC e simili
– Network gear: switch, AP Wi-Fi, router
– Storage: dischi USB, microSD etichettate, SSD da rotazione
– Cavi e adattatori: contati, non seriali
– Console: cavi seriali, programmer JTAG, alimentatori speciali
Ogni asset seriale ha tag fisico stampato (DYMO 12mm) con asset tag univoco, modello, e tag categoria. Il tag fisico è la chiave per arrivare al record digitale in pochi secondi.
Import bulk da CSV
Quando ho fatto il primo censimento, l’inserimento manuale di trenta asset era già troppo. Ho preparato un CSV e usato l’importer:
docker compose exec -T app php artisan snipeit:import --type=asset /tmp/assets.csv
Il CSV deve avere intestazioni che mappano i campi (Asset Tag, Serial, Model Name, Category, Location, Status). Per i custom field ho aggiunto colonne mac_address e firmware_version che ho creato dal pannello.
Un caso reale
Un giovedì pomeriggio, intorno alle 15:00, un cliente mi ha chiesto la documentazione di un audit hardware su un suo lab di test. Volevo presentare lista, posizione, data acquisto e stato di garanzia per una ventina di macchine. Avevo registrato tutto su Snipe-IT nei mesi precedenti, comprese le scansioni delle fatture allegate come file ai singoli asset. In quindici minuti ho generato l’export CSV via API:
curl -H "Authorization: Bearer TOKEN" \
"https://snipeit.example.lan/api/v1/hardware?limit=100&offset=0" \
-o assets.json
E ho consegnato il foglio pulito. Senza Snipe-IT sarebbe stata una giornata di archeologia fra ricevute. Risparmio puro che paga da solo il costo di mantenere il servizio attivo.
Cosa funziona bene
La gestione checkout/checkin è preziosa: quando presto un cavo console a un cliente o porto un Pi a casa di un familiare per ricostruire un disastro, lo segno come “checked out” con data e nota. Tornato il pezzo, lo checko di nuovo in casa. Mai più “ma dove l’avevo lasciato?”. L’API REST è completa, l’ho integrata con uno script che, quando installo un nuovo host, registra automaticamente serial number e MAC.
Limiti
Snipe-IT richiede una manutenzione minima per restare utile: se smetti di aggiornarlo quando aggiungi o rimuovi hardware, in tre mesi diventa rumore. Il primo censimento è il lavoro più ingrato, conviene farlo a step (categorie principali prima, dettagli dopo) e accettare che sarà imperfetto per un po’.
In pratica
è una di quelle infrastrutture che paga in tranquillità più che in tempo risparmiato giornaliero. Tenere allineata la realtà fisica al database costa qualche minuto a settimana e ti restituisce ore quando arriva il momento del troubleshooting, dell’audit o del trasloco. Per chi è abituato a “tanto me lo ricordo”, il salto a Snipe-IT è quasi rieducativo.
Immagine generata con ComfyUI Mac M1 / RealVisXL V5 Lightning.
