
Indice Serie Homelab
Libertà digitale: creare un ecosistema di servizi personali senza dipendere dalle big tech.
Dal Controllo Foto al Controllo Musica Link to heading
Nel precedente articolo abbiamo configurato Immich per la gestione delle foto con storage esterno dedicato. Con Immich operativo e i backup ancora da configurare, decido di espandere l’homelab. Il prossimo servizio: Navidrome, un server di streaming musicale self-hosted che trasforma la nostra collezione MP3/FLAC in un servizio simile a Spotify, ma completamente sotto il nostro controllo.
Container Dedicato per Navidrome Link to heading
Seguendo l’approccio di isolamento servizio per container, creiamo un container LXC dedicato esclusivamente a Navidrome.
Creazione Container Navidrome Link to heading
Via Interfaccia Web Proxmox:
-
Create CT → General
- CT ID:
103
- Hostname:
navidrome
- Password: Impostare password sicura
- CT ID:
-
Template:
ubuntu-22.04-standard
-
Root Disk:
- Storage:
local-lvm
- Disk size:
8 GB
(minimo, dati su disco esterno)
- Storage:
-
CPU:
- Cores:
1
(sufficiente per streaming musicale)
- Cores:
-
Memory:
- Memory:
512 MB
- Swap:
512 MB
- Memory:
-
Network:
- Bridge:
vmbr0
- IPv4:
Static
- IPv4/CIDR:
192.168.1.206/24
- Gateway:
192.168.1.1
- Firewall: ✓ Enabled
- Bridge:
Mount Point Storage hermes Link to heading
Via Interfaccia Web Proxmox:
- Selezionare container navidrome (ID 103)
- Resources → Add → Mount Point
- Mount Point ID:
mp0
(default) - Storage:
hermes
- Disk size:
50 GB
- Path in Container:
/navidrome-data
- Backup: ✓
Preparazione Directory Storage Link to heading
# Dall'HOST PROXMOX
mkdir -p /mnt/hermes/navidrome/{data,music}
# Struttura:
# /mnt/hermes/
# ├── immich/
# └── navidrome/
# ├── data/ (database e cache)
# └── music/ (libreria musicale)
Setup Docker nel Container Link to heading
# Avviare e entrare nel container
pct start 103
pct enter 103
# Aggiornamento e installazione Docker
apt update && apt upgrade -y
curl -fsSL https://get.docker.com | sudo sh
usermod -aG docker $USER
# Verificare mount point
df -h /navidrome-data
ls -la /navidrome-data/
# Creare directory di lavoro
mkdir -p /root/navidrome-app
Setup Navidrome con Docker Compose Link to heading
Seguiamo la guida ufficiale di Navidrome adattata al nostro environment homelab.
Configurazione Docker Compose Link to heading
# Entrare nella directory di lavoro
cd /root/navidrome-app
# Creare docker-compose.yml
nano docker-compose.yml
Configurazione Docker Compose:
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
user: 1000:1000
ports:
- "4533:4533"
restart: unless-stopped
environment:
- ND_MUSICFOLDER=/music
- ND_DATAFOLDER=/data
- ND_SCANSCHEDULE=@every 1h
- ND_LOGLEVEL=info
- ND_ENABLEDOWNLOADS=true
- ND_SESSIONTIMEOUT=24h
- ND_UIWELCOMEMESSAGE="Musica Homelab"
- ND_DEFAULTTHEME=Dark
volumes:
- "/navidrome-data/data:/data"
- "/navidrome-data/music:/music:ro"
Preparazione Directory e Permessi Link to heading
Prima del primo avvio, configuriamo i permessi corretti per le directory di Navidrome:
# Dal container navidrome (pct enter 103)
# Creare directory necessarie
mkdir -p /navidrome-data/{data,music}
# Impostare permessi corretti per utente Docker 1000:1000
chown -R 1000:1000 /navidrome-data/
chmod -R 755 /navidrome-data/
# Verificare permessi
ls -la /navidrome-data/
Primo Avvio Link to heading
# Avvio container
cd /root/navidrome-app
docker-compose up -d
# Verificare stato
docker-compose ps
docker-compose logs navidrome
# Output atteso:
# navidrome | INFO Navidrome is ready!
Trasferimento Musica dal PC Link to heading
Opzione 1: SCP/rsync da PC (Raccomandato) Link to heading
Prima: Abilitare SSH nel container
# Dal container navidrome (pct enter 103)
# Installare e abilitare SSH
apt update && apt install -y openssh-server
systemctl enable ssh
systemctl start ssh
# Permettere login root via SSH
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
systemctl restart ssh
# Verificare SSH attivo
systemctl status ssh
Trasferimento Musica
# RSYNC (raccomandato) - dal tuo PC
# Copiare CONTENUTO della cartella (nota lo slash finale)
rsync -av --progress /path/to/MusicLibrary/ [email protected]:/navidrome-data/music/
# SCP alternativo - dal tuo PC
# Copiare cartella e contenuto (senza slash finale)
scp -r /path/to/MusicLibrary [email protected]:/navidrome-data/music/
# IMPORTANTE: Dopo il trasferimento, correggere permessi nel container
ssh [email protected] "chown -R 1000:1000 /navidrome-data/music/ && chmod -R 755 /navidrome-data/music/"
# Struttura finale desiderata:
# /navidrome-data/music/
# ├── Artist1/Album1/01-Track.mp3
# ├── Artist2/Album2/02-Track.flac
# └── ...
Opzione 2: Condivisione di Rete (SMB/CIFS) Link to heading
# Dal container navidrome - installare samba per condivisione
apt update && apt install -y samba
# Creare utente samba
smbpasswd -a root
# Configurare condivisione in /etc/samba/smb.conf
echo '[music-share]
path = /navidrome-data/music
browseable = yes
writable = yes
guest ok = no
valid users = root' >> /etc/samba/smb.conf
# Riavviare samba
systemctl restart smbd
# Dal PC Windows: accedere a \\192.168.1.206\music-share
Opzione 3: Drive USB direttamente su Mini PC Link to heading
# Dal container navidrome - passthrough USB drive
# (Configurare USB passthrough in Proxmox prima)
# Verificare dispositivi USB
lsblk
# Montare drive USB
mkdir -p /mnt/usb-music
mount /dev/sdb1 /mnt/usb-music
# Copiare musica mantenendo struttura
rsync -av --progress /mnt/usb-music/ /navidrome-data/music/
# Smontare drive
umount /mnt/usb-music
Impostazione Permessi Post-Trasferimento Link to heading
# Dopo qualsiasi metodo di trasferimento
# Impostare permessi corretti per Docker
chown -R 1000:1000 /navidrome-data/music/
chmod -R 755 /navidrome-data/music/
# Verificare struttura
ls -la /navidrome-data/music/
Prima Configurazione Web Link to heading
- URL:
http://192.168.1.206:4533
- Prima visita: Creazione account amministratore
- Library Scan: Si avvia automaticamente
Test Funzionalità Link to heading
- Browse Library: Verificare navigazione per artista/album
- Play Music: Test riproduzione nel browser
- Mobile Apps: Configurare app Subsonic - io ho usato Amperfy sia su mac che su ios, il top sembra essere Symfonium
Prossimi Passi Link to heading
Con Navidrome operativo e la musica personale in streaming, l’homelab offre già un’alternativa concreta a Spotify e Apple Music. Immich e Navidrome funzionano perfettamente, ma solo da casa.
Il passo successivo è cruciale: rendere questi servizi accessibili ovunque mantenendo la sicurezza.
→ Continua con: Homelab: Accesso Remoto Sicuro