Files
nicotine-less/README.md
Claude 494eaa6617 Initial commit: Nicotine-Less Docker container
Lightweight Docker container for Nicotine+ with noVNC web interface and Firefox ESR browser.

Features:
- noVNC web interface with dynamic resize support
- Firefox ESR for testing ports and browsing
- TigerVNC with AcceptSetDesktopSize enabled
- Supervisor for process management
- Configurable user/group permissions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 20:09:10 +02:00

4.8 KiB

Nicotine-Less

Container Docker leggero per Nicotine+ (client Soulseek) con interfaccia web tramite noVNC e Firefox ESR integrato.

Caratteristiche

  • Interfaccia web accessibile da browser (noVNC)
  • Firefox ESR integrato per testare porte e navigare
  • Ridimensionamento dinamico della finestra VNC
  • Supporto SSH X forwarding
  • Gestione permessi user/group personalizzabili
  • Volumi persistenti per configurazione e download
  • Ottimizzato per architettura ARM64
  • Nessuna porta VNC esposta esternamente (solo web)

Requisiti

  • Docker e Docker Compose installati
  • Raspberry Pi con architettura ARM64
  • Porte disponibili: 6080 (web), 2234 (TCP), 2235 (UDP)

Installazione

1. Clona o crea la directory del progetto

git clone https://git.nicola.sh/public/nicotine-less.git
cd nicotine-less

2. Crea le directory per i volumi

mkdir -p data/config data/downloads data/incomplete

3. Configura le variabili d'ambiente (opzionale)

Modifica docker-compose.yml se necessario:

environment:
  - PUID=1000              # Cambia con il tuo user ID (comando: id -u)
  - PGID=1000              # Cambia con il tuo group ID (comando: id -g)
  - TZ=Europe/Rome         # Cambia il tuo timezone
  - VNC_RESOLUTION=1280x720 # Risoluzione desktop
  - VNC_PASSWORD=nicotine  # Password per VNC

4. Build dell'immagine

docker-compose build

5. Avvia il container

docker-compose up -d

Utilizzo

Accesso Web (noVNC)

Apri il browser e vai a:

http://localhost:6080

O da un altro dispositivo nella stessa rete:

http://INDIRIZZO_IP_RASPBERRY:6080

Accesso via SSH X Forwarding

ssh -X user@raspberry_ip
docker exec -it nicotine-less nicotine

Gestione del container

# Visualizza i log
docker-compose logs -f

# Ferma il container
docker-compose down

# Riavvia il container
docker-compose restart

# Aggiorna e ricostruisci
docker-compose down
docker-compose build --no-cache
docker-compose up -d

Struttura dei volumi

./data/
├── config/       # Configurazione Nicotine+ (database, impostazioni)
├── downloads/    # File scaricati completati
└── incomplete/   # Download in corso

Aggiungere cartelle condivise

Per condividere cartelle con altri utenti Soulseek, modifica docker-compose.yml:

volumes:
  - ./data/config:/config
  - ./data/downloads:/downloads
  - ./data/incomplete:/incomplete
  - /percorso/musica:/shares/music:ro       # Aggiungi questa riga
  - /percorso/video:/shares/video:ro        # E questa

Poi riavvia il container e configura le condivisioni dentro Nicotine+.

Configurazione Nicotine+

Al primo avvio:

  1. Apri l'interfaccia web (http://localhost:6080)
  2. Configura username e password Soulseek
  3. Vai in Preferenze → Shares per impostare le cartelle condivise
  4. Vai in Preferenze → Network per verificare le porte (2234/2235)
  5. Configurazione consigliata per Raspberry Pi:
    • Max upload slots: 2-4
    • Max download slots: 2-4
    • Limite banda in base alla tua connessione

Porte utilizzate

Porta Tipo Descrizione
6080 TCP Interfaccia web noVNC
2234 TCP Connessioni Soulseek
2235 UDP Ricerca Soulseek

Risoluzione problemi

L'interfaccia web non si carica

docker-compose logs
# Verifica che tutti i servizi siano attivi

Permessi negati sui file

Verifica PUID e PGID nel docker-compose.yml:

id -u  # User ID
id -g  # Group ID

Performance su Raspberry Pi

Modifica i limiti risorse in docker-compose.yml:

deploy:
  resources:
    limits:
      memory: 512M  # Riduci se necessario
      cpus: '1'     # Riduci se necessario

Download lenti

  • Verifica la connettività di rete del container
  • Controlla le impostazioni di banda in Nicotine+
  • Assicurati che le porte 2234/2235 siano aperte nel router

Backup

Per fare backup della configurazione:

tar -czf nicotine-backup-$(date +%Y%m%d).tar.gz data/

Per ripristinare:

tar -xzf nicotine-backup-YYYYMMDD.tar.gz

Aggiornamenti

Per aggiornare Nicotine+ all'ultima versione:

docker-compose down
docker-compose build --no-cache
docker-compose up -d

Sicurezza

  • Cambia la password VNC predefinita in docker-compose.yml
  • Considera l'uso di un reverse proxy (nginx/traefik) con HTTPS
  • Non esporre la porta 6080 su Internet senza protezione
  • Usa VPN o SSH tunneling per accesso remoto sicuro

Accesso remoto sicuro (SSH tunnel)

ssh -L 6080:localhost:6080 user@raspberry_ip

Poi apri http://localhost:6080 sul tuo computer locale.

Licenza

Questo progetto è fornito "as-is" senza garanzie.