# Navidrome Music Server in docker ![look](https://raw.githubusercontent.com/navidrome/navidrome/master/.github/screenshots/ss-desktop-player.png) # Descrizione * [Sito ufficiale](https://www.navidrome.org/) * [Repo (Github)](https://github.com/navidrome/navidrome) Navidrome è un server di gestione e streaming musicale: - Gestisce collezioni musicali molto grandi - Legge e usa tutti i vostri metadati integrati nei file - Multiutente, ogni utente ha i propri conteggi di riproduzione, playlist, preferiti, ecc... - Monitora automaticamente la tua libreria per le modifiche, importando nuovi file e ricaricando i nuovi metadati - Interfaccia web multilingua, tematizzabile, moderna e reattiva basata su Material UI - Supporto alla transcodifica on-the-fly (anche Opus) e può essere impostato per singolo utente - Compatibile con tutti i client Subsonic/Madsonic/Airsonic - Uso delle risorse molto contenuto # Struttura file e cartelle ``` /home/ └── ~/ └── docker/ └── navidrome/ ├── data/ ├── .env └── docker-compose.yml ``` * `data/` - la cartella dove risiedono i dati che servono a navidrome * `.env` - un file contenenti le variabili environment per il docker compose * `docker-compose.yml` - il docker compose per creare il container Tutti i file e le cartelle devono essere creati a mano.
# docker-compose `docker-compose.yml` ```yml version: "3" services: navidrome: container_name: navidrome image: deluan/navidrome restart: unless-stopped ports: - ${NAVIDROME_PORT:-4533}:4533 env_file: .env volumes: - ${NAVIDROME_DATA:-/home/docker/navidrome/data}:/data - ${MUSIC_DIR:-/home/music}:/music:ro ``` `.env` ```bash # Generale NAVIDROME_PORT=4533 NAVIDROME_DATA:/home/docker/navidrome/data MUSIC_DIR=/home/music # Navidrome ND_SCANINTERVAL=1h ND_LOGLEVEL=info CREATE_ADMIN=1 ND_SESSIONTIMEOUT=24h ``` # Reverse proxy Ancora non ho previsto l'uso di un reverse proxy. (Vedi [Todo](#Todo)) # Aggiornamenti [Watchtower](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/watchtower) aggiorna l'immagine automaticamente. Aggiornamento manuale: - `docker-compose pull`
- `docker-compose up -d`
- `docker image prune` # Backup e ripristino #### Backup Copiare a mano, tramite crontab o altro la cartella `navidrome` (Vedi [Todo](#Todo)) #### Ripristino * spegnere il container `docker-compose down`
* cancellare l'intera cartella `navidrome`
* dal backup copiare la cartella `navidrome`
* far partire il container `docker-compose up -d` # Todo Implementare: - reverse proxy: **[caddy](https://caddyserver.com/) o [traefik](https://doc.traefik.io/traefik/).** - backup: **[borg](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/borg_backup) per fare i backup giornalieri completi.**