baltun
Администратор
- Сообщения
- 12.279
- Реакции
- 3.082
- Баллы
- 1.833
Возможности кратко:
Скачиваем Navidrome у устанавливаем права:
Создаем файл конфигурации по пути /var/lib/navidrome navidrome.toml, права на файл от пользователя и группы xsacha:
Создаем новый файл с именем и следующими данными /etc/systemd/system/ navidrome.service для запуска нашего сервиса:
Запускаем наш сервис Navidrome:
Добавляем службу в автозагрузку:
После всего можем посмотреть работу нашего скрипта
Если размещать скрипт на nginx с проксированием тогда правила можно прописать так:
Обновление скрипта:
- Выбирайте из большого выбора мобильных клиентов или используйте встроенный веб-плеер
- Легкий, быстрый и автономный. Хорошо работает даже на платформах с ограниченными ресурсами (например, Raspberry Pi)
- Хорошо сочетается с гигантскими музыкальными коллекциями (протестировано с ~900K песен - 2/3 FLAC, 1/3 MP3)
- Преобразует / уменьшает ваши музыкальные файлы по мере их воспроизведения, поэтому вы не нарушаете свой тарифный план
- Построен с использованием новых технологий
- Совместимость со стандартным Музыкальным API, поддерживающим всех своих клиентов и экосистему
- Новые релизы на регулярной основе, добавление функций и исправление ошибок
Код:
sudo install -d -o xsacha -g xsacha /opt/navidrome
sudo install -d -o xsacha -g xsacha /var/lib/navidrome
Скачиваем Navidrome у устанавливаем права:
Код:
wget https://github.com/navidrome/navidrome/releases/download/v0.52.5/navidrome_0.52.5_linux_amd64.tar.gz -O Navidrome.tar.gz
sudo tar -xvzf Navidrome.tar.gz -C /opt/navidrome/
sudo chown -R xsacha:xsacha /opt/navidrome
Создаем файл конфигурации по пути /var/lib/navidrome navidrome.toml, права на файл от пользователя и группы xsacha:
Код:
ScanSchedule = '@every 1h'
TranscodingCacheSize = '150MiB'
MusicFolder = '/media'
Создаем новый файл с именем и следующими данными /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=xsacha
Group=xsacha
Type=simple
ExecStart=/opt/navidrome/navidrome --configfile "/var/lib/navidrome/navidrome.toml"
WorkingDirectory=/var/lib/navidrome
TimeoutStopSec=20
KillMode=process
Restart=on-failure
# See https://www.freedesktop.org/software/systemd/man/systemd.exec.html
DevicePolicy=closed
NoNewPrivileges=yes
PrivateTmp=yes
PrivateUsers=yes
ProtectControlGroups=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
RestrictNamespaces=yes
RestrictRealtime=yes
SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap
ReadWritePaths=/var/lib/navidrome
# You can uncomment the following line if you're not using the jukebox This
# will prevent navidrome from accessing any real (physical) devices
#PrivateDevices=yes
# You can change the following line to `strict` instead of `full` if you don't
# want navidrome to be able to write anything on your filesystem outside of
# /var/lib/navidrome.
ProtectSystem=full
# You can uncomment the following line if you don't have any media in /home/*.
# This will prevent navidrome from ever reading/writing anything there.
#ProtectHome=true
# You can customize some Navidrome config options by setting environment variables here. Ex:
#Environment=ND_BASEURL="/navidrome"
Запускаем наш сервис Navidrome:
Код:
sudo systemctl daemon-reload
sudo systemctl start navidrome.service
sudo systemctl status navidrome.service
Добавляем службу в автозагрузку:
Код:
sudo systemctl enable navidrome.service
После всего можем посмотреть работу нашего скрипта
У вас нет разрешения на просмотр ссылки, пожалуйста Вход или Регистрация
при первом входе скрипт требует создать администратора. Скрипт полностью на русском языки. Для прослушивании музыки есть также приложения для iOS, Android, Windows, Linux.Если размещать скрипт на nginx с проксированием тогда правила можно прописать так:
HTML:
location / {
proxy_pass http://127.0.0.1:4533/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_buffering off;
location ~ [^/]\.ph(p\d*|tml)$ {
try_files /does_not_exists @php;
}
}
Обновление скрипта:
Код:
sudo systemctl stop navidrome.service
wget https://github.com/navidrome/navidrome/releases/download/v0.52.5/navidrome_0.52.5_linux_amd64.tar.gz -O Navidrome.tar.gz
sudo tar -xvzf Navidrome.tar.gz -C /opt/navidrome/
sudo systemctl start navidrome.service
Последнее редактирование: