Navidrome

Features

  • Handles very large music collections
  • Streams virtually any audio format available
  • Reads and uses all your beautifully curated metadata
  • Great support for compilations (Various Artists albums) and box sets (multi-disc albums)
  • Multi-user, each user has their own play counts, playlists, favourites, etc...
  • Very low resource usage
  • Multi-platform, runs on macOS, Linux and Windows. Docker images are also provided
  • Ready to use binaries for all major platforms, including Raspberry Pi
  • Automatically monitors your library for changes, importing new files and reloading new metadata
  • Themeable, modern and responsive Web interface based on Material UI
  • Compatible with all Subsonic/Madsonic/Airsonic clients
  • Transcoding on the fly. Can be set per user/player. Opus encoding is supported
  • Translated to various languages

Navidrome is an unofficial application which is not supported by Ultra.cc yet.
Please proceed with the guide only if you are comfortable with managing the application on your own.

Installation

  • Login to your service via SSH.
  • Execute the Navidrome installation script via the following SSH command:
bash <(wget -qO- https://raw.githubusercontent.com/ultraseedbox/UltraSeedbox-Scripts/master/Navidrome/navidrome-install.sh)

There is no forgot password mechanism for the admin account of Navidrome yet.
Please save Navidrome's admin account credentials in a password manager.

  • Visit the Navidrome WebUI via the URL given by the script and set up the admin account.

create-first-user.png

  • All music data present in ~/media/Music will be scanned and available for streaming.

Helpful Information

Configuration File

  • The Navidrome configuration file is located here: ~/.apps/navidrome/navidrome.toml
  • It has the following settings:
MusicFolder = "/home/your_username/media/Music"
ScanSchedule = "@every 24h"
LogLevel = "info"

Logs

  • Navidrome logs can be checked using journalctl.
  • Execute the following SSH command to view the logs:
journalctl --user -u navidrome.service

Update and Repair Navidrome

  • To update & repair Navidrome, run the installation script again with the following SSH command:
bash <(wget -qO- https://raw.githubusercontent.com/ultraseedbox/UltraSeedbox-Scripts/master/Navidrome/navidrome-install.sh)
  • Choose option 2, Update & Repair.
  • Using this option, you can also change the port that Navidrome uses.
  • Output Example:
ultradocs@pollux:~$ bash <(wget -qO- https://raw.githubusercontent.com/ultraseedbox/UltraSeedbox-Scripts/master/Navidrome/navidrome-install.sh)
Disclaimer: This installer is unofficial and Ultra.cc staff will not support any issues with it
Type confirm if you wish to continue: confirm

Old installation of Navidrome detected.
How do you wish to proceed? In all the first three cases, the old data directory will be backed up.
1) Fresh Install
2) Update & Repair
3) Uninstall
4) Quit
#? 2

Creating a backup of the data directory..
Backup created.

Update and Repair Navidrome

Uninstall Navidrome

  • To uninstall Navidrome, run the installation script again with the following SSH command:
bash <(wget -qO- https://raw.githubusercontent.com/ultraseedbox/UltraSeedbox-Scripts/master/Navidrome/navidrome-install.sh)
  • Choose option 3, Uninstall.
  • Output Example:
ultradocs@pollux:~$ bash <(wget -qO- https://raw.githubusercontent.com/ultraseedbox/UltraSeedbox-Scripts/master/Navidrome/navidrome-install.sh)
Disclaimer: This installer is unofficial and Ultra.cc staff will not support any issues with it
Type confirm if you wish to continue: confirm

Old installation of Navidrome detected.
How do you wish to proceed? In all the first three cases, the old data directory will be backed up.
1) Fresh Install
2) Update & Repair
3) Uninstall
4) Quit
#? 3

Creating a backup of the data directory..
Backup created.

Uninstalling Navidrome..
Removed /home/ultradocs/.config/systemd/user/default.target.wants/navidrome.service.

Uninstallation Complete.
Backup of old instance created at /home/ultradocs/.apps/backup/navidrome-2022-06-04_12-27-00.bak.tar.gz.

ultradocs@pollux:~$