# Navidrome
## Descrizione [![Sito ufficiale](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=firefoxbrowser&style=flat&label=&message=Homepage)](https://www.navidrome.org/) [![Sorgente](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=github&style=flat&label=&message=Sorgente)](https://github.com/navidrome/navidrome) [![Docker Hub](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=docker&style=flat&label=&message=Docker Hub)](https://hub.docker.com/r/deluan/navidrome) [![Docs](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=readthedocs&style=flat&label=&message=Docs)](https://www.navidrome.org/docs/) [![Demo](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=jekyll&style=flat&label=&message=Demo)](https://demo.navidrome.org/ "Login: demo | Password: demo") Navidrome è un server per la gestione e lo streaming di file musicali: - Interfaccia web multilingua, tematizzabile, moderna e reattiva basata su Material UI - Gestione multiutente, ogni utente ha le proprie playlist, preferiti, ecc... - Supporto alla transcodifica on-the-fly (anche Opus) e può essere impostato per singolo utente - Compatibile con tutti i client Subsonic/Madsonic/Airsonic ## Struttura file e cartelle ``` /home/ └── docker/ └── navidrome/ ├── data/ ├── music/ ├── .env └── docker-compose.yml ``` - `data/` - cartella dove risiedono i dati che servono a navidrome - `music/` - cartella dove vanno messi i vostri file musicali (mp3, flac, etc) - `.env` - file contenenti le variabili environment per il docker-compose - `docker-compose.yml` - file usato per creare il container **N.B. Tutti i file e le cartelle devono essere creati a mano.** ## Esempi Semplice esempio per iniziare ad usare subito il container ### network `docker` ```bash docker network create custom-bridge ``` `podman` ```bash podman network create custom-bridge ``` ### docker-compose `docker-compose.yml` ```yml version: "3" services: navidrome: container_name: navidrome image: deluan/navidrome security_opt: - no-new-privileges:true networks: - custom-bridge restart: unless-stopped ports: - ${NAVIDROME_WEBUI_PORT:-4533}:4533 env_file: .env volumes: - ${NAVIDROME_DATA:-/home/docker/navidrome/data}:/data - ${MUSIC_DIR:-/home/music}:/music:ro networks: custom-bridge: name: custom-bridge driver: bridge ``` `.env` ```bash # Generale NAVIDROME_WEBUI_PORT=4533 NAVIDROME_DATA=/home/docker/navidrome/data MUSIC_DIR=/home/music # Navidrome ND_LOGLEVEL=info ``` ## Reverse proxy Vedi [Todo](#Todo) ## Aggiornamento ### Automatico Usando [watchtower](../watchtower) il container si aggiorna automaticamente ### Manuale 1. `docker-compose up -d` 2. `docker image prune` ## Backup e ripristino ### Backup Usate [borg](../borg) per fare i backup giornalieri dell'intera cartella `navidrome` ### Ripristino Per una maggiore spiegazione sui passaggi da fare, controllate [qua](../borg#user-content-controllare-la-cartella-dei-backup) 1. fermare il container `docker-compose down` 2. cancellare l'intera cartella `navidrome` 3. dal backup copiare la cartella `navidrome` 4. far ripartire il container `docker-compose up -d` ## Todo Implementare: - reverse proxy: **[caddy](https://caddyserver.com/)** o **[traefik](https://doc.traefik.io/traefik/)** --- Licenza: [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt)