Утекло много воды с первого поста о SubSonic. Хоть он и служит верой и правдой по сей день, но увы лишен обновлений, активного сообщества и начинает пристраиваться рядом с Winamp
В поисках альтернативы я пошел по избытому пути, а именно линейке соников. Airsonic, Madsonic, Libresonic (сайта уже нет, искал в закромах). Всех их объединяет интерфейс нулевых годов, куча дополнительных опций которые выглядят странно в 2022 году и как конечно же движок на Java
Потом снова вернулся на Plex. Это огромный комбайн который едет, тарахтит и вечно требует доступ к моему же серверу через их сайт. С последним я смирился, но потом они что то сломали, и по прямому IP или доменному имени он перестал работать, остался только их p2p вариант (не уверен что правильно описал эту технологию). И пережёвывать 300 Гб музыки пару часов это слишком как по мне
Далее я нашел Koel. Выглядит чертовки круто, но в Докере никак не стартовал, а собрать с composer не получалось из-за ошибки сертификатов на Synology. В общем был вариант сломать всю систему, и я сдал назад. Подниму на Ubuntu этого зверя чтобы поиграться
Затем чисто случайно набрел на Navidrome, о нем и будет повесть
Официальный сайт: Navidrome
Установка через Docker
- Ставим Docker
- Создаем папку navidrome (можно любую другую) в директории docker

- Подключаемся к северу по ssh протоколу
- Переходим к созданной папке командой
cd /volume1/docker/navidrome
, у вас путь может быть другой - Скачиваем файл конфигурации
- Закидаем его в директорию navidrome
- Вводим команду
docker-compose up -d
. В командной строке должна появится надпись done - Теперь сервер доступен по следующему адресу: IP Synology: 4533
- Придумываем логин/пароль
- Если все прошло удачно, вы увидите свои музыкальные файлы
Описывать интерфейс не стал, есть демка где все можно пощупать самому https://www.navidrome.org/demo/
Файлы настройки будут хранится в директории navidrome, потому если нужно перенести конфигурацию просто скопируйте их
Обновление
- Перейти в директорию navidrome
cd /volume1/docker/navidrome
- Посмотреть список запущенных контейнеров. Нужно столбец Name
docker ps -a
- Остановить контейнер
docker stop navidrome_navidrome_1
- Удалить текущий контейнер
docker rm
navidrome_navidrome_1
- Скачать новый контейнер
docker pull deluan/navidrome
- Запустить
docker-compose up -d
Установка на Orange Pi
Данній мануал подойдет и для обычных x64 Linux систем. Нужно лишь выбрать правильный пакет для своей архитектуры ОС
- Обновим репозитории
sudo apt update
- Установим все последние обновления
sudo apt upgrade
- Установка ffmpeg. В целом можно и без него, он лишь если хотите использовать конвертирование аудио(например flac в mp3)
sudo apt install vim ffmpeg
- Создаем рабочие директории. Обратите внимание, что я использую пользователя
orangepi
, он был предустановлен в системе по умолчанию. Если нужно используйте своегоsudo install -d -o orangepi -g users /opt/navidrome
sudo install -d -o orangepi -g users /var/lib/navidrome
- Теперь определяемся с архитектурой ОС. Все доступные пакеты на гите https://github.com/navidrome/navidrome/releases
uname -m
- Скачиваем, распаковываем архив
wget https://github.com/navidrome/navidrome/releases/download/v0.52.5/navidrome_0.52.5_linux_armv7.tar.gz -O Navidrome.tar.gz
sudo tar -xvzf Navidrome.tar.gz -C /opt/navidrome/
sudo chown -R orangepi:users /opt/navidrome
- Конфигурируем файл
nano /var/lib/navidrome/navidrome.toml
. В него вставить следующее содержимое:MusicFolder = "/home/orangepi/Music"
ScanSchedule = '@every 2h'
Где/home/orangepi/Music
— путь к директории с музыкой, выберите свой если он отличаетсяScanSchedule = '@every 2h'
— каждые 2 часа сканировать директорию на наличие новой музыки - У меня музыка находится на другом сервере, потому нужно примонтировать сетевой диск
sudo mkdir -p /home/orangepi/Music
sudo chmod -R 0777 /home/orangepi/Music
sudo mount -t cifs -o username=admin,password='admin',uid=1000,sec=ntlmssp,iocharset=utf8 //192.168.88.44/Disk_2/Music /home/orangepi/Music
— команда для монтирования с Synology DSM 7.2df -h | grep sda1
— проверяем статус монтирования
Если нужно размонтироватьsudo umount //192.168.88.44/Disk_2/Music

- Создаем скрипт для автоматического монтирования при старте системы
!/bin/bash
sleep 10
mount -t cifs -o username=admin,password='admin',uid=1000,sec=ntlmssp,iocharset=utf8 //192.168.88.44/Disk_2/Music /home/orangepi/Music
Скачать скрипт
Если вы подключили вместо сетевого диска обычный по USB к OrangePisudo mkdir -p /home/orangepi/Music
sudo chmod -R 0777 /home/orangepi/Music
sudo mount /dev/sda1 /home/orangepi/Music
df -h | grep sda1
sudo umount /dev/sda1
— если нужно размонтировать - Редактируем службу Navidrome
nano /etc/systemd/system/navidrome.service
. Вставить следующее содержимое:[Unit]
Description=Navidrome Music Server and Streamer compatible with Subsonic/Airsonic
After=remote-fs.target network.target
AssertPathExists=/var/lib/navidrome
[Install]
WantedBy=multi-user.target
[Service]
User=orangepi
Group=users
Type=simple
StartLimitIntervalSec=0
ExecStart=/opt/navidrome/navidrome --configfile "/var/lib/navidrome/navidrome.toml"
WorkingDirectory=/var/lib/navidrome
TimeoutStopSec=20
KillMode=process
Restart=on-failure
ProtectSystem=full - Запускаем службу
sudo systemctl daemon-reload
sudo systemctl start navidrome.service
sudo systemctl status navidrome.service
Если все окsudo systemctl enable navidrome.service
Дополнительные командыsudo systemctl restart navidrome.service
— перезапускsudo systemctl stop navidrome.service
— остановка - Удаление Navidrome
sudo systemctl stop navidrome
sudo systemctl disable navidrome
sudo rm -rf /opt/navidrome
sudo rm -rf /var/lib/navidrome
sudo rm -rf /etc/navidrome
sudo rm /etc/systemd/system/navidrome.service
Обновление на Orange Pi
sudo systemctl stop navidrome.service
- Закинуть файл
navidrome
в директорию/opt/navidrome
sudo systemctl start navidrome.service