Лучшие самохостинговые музыкальные приложения для вашего Homelab
Подробное руководство по установке и настройке самохостинговых музыкальных приложений Jellyfin, Airsonic, Navidrome и других. Узнайте, как создать личный музыкальный стриминг-сервис на своем сервере.
Выбор и подготовка сервера
Определите размер музыкальной коллекции для выбора оборудования. Для небольших коллекций подойдет современный двухъядерный процессор, 4 ГБ ОЗУ, SSD 100 ГБ. Для больших коллекций - шести/восьмиядерный процессор, 16+ ГБ ОЗУ, 2+ ТБ хранения.
sudo apt update && sudo apt upgrade -yУстановка Jellyfin
Добавьте репозиторий и установите Jellyfin через пакетный менеджер. После установки запустите сервис и настройте библиотеку через веб-интерфейс.
sudo apt install apt-transport-https
wget -O - https://repo.jellyfin.org/debian/jellyfin-team-archive-keyring.gpg | sudo apt-key add -
echo "deb [arch=$(dpkg --print-architecture)] https://repo.jellyfin.org/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update && sudo apt install jellyfin
sudo systemctl start jellyfin && sudo systemctl enable jellyfinУстановка Airsonic
Установите Java, скачайте WAR-файл и создайте системный сервис для работы в фоновом режиме.
sudo apt install openjdk-11-jdk -y
sudo useradd -r -s /bin/false airsonic
cd /opt && sudo wget https://github.com/airsonic/airsonic/releases/download/v10.3.1/airsonic-10.3.1.war
sudo chown -R airsonic:airsonic /opt/airsonic-10.3.1.warУстановка Navidrome
Скачайте бинарный файл, создайте системного пользователя и настройте сервис через systemd.
sudo apt install unzip -y
cd /opt && sudo wget https://github.com/navidrome/navidrome/releases/download/v0.48.3/navidrome_0.48.3_Linux_x86_64.tar.gz
sudo tar -xzf navidrome_0.48.3_Linux_x86_64.tar.gz
sudo useradd -r -s /bin/false navidrome
sudo mkdir -p /var/lib/navidrome && sudo chown navidrome:navidrome /var/lib/navidromeНастройка обратного прокси
Настройте Nginx для безопасного доступа через доменное имя и перенаправления трафика на порт приложения.
server {
listen 80;
server_name music.yourdomain.com;
location / {
proxy_pass http://localhost:8096;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}Настройка SSL с Let's Encrypt
Установите Certbot и получите бесплатный SSL-сертификат для шифрования соединения.
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d music.yourdomain.comОптимизация Jellyfin
Настройте кэширование метаданных и потока в веб-интерфейсе, включите аппаратное ускорение для декодирования видео.
Настройка Navidrome через конфигурацию
Отредактируйте /etc/navidrome.toml для настройки кэширования и индексации.
[Cache]
ImageCacheSize = 100
ArtistImageCacheSize = 50
TranscodingCacheSize = 100
[Indexing]
Interval = 5Безопасность: настройка пользователей
Создайте отдельных пользователей с ограниченными правами, отключите гостевой доступ и настройте двухфакторную аутентификацию.
Резервное копирование
Настройте регулярное копирование конфигурации и базы данных. Для Jellyfin: /var/lib/jellyfin, для Navidrome: /var/lib/navidrome.
sudo tar -czvf backup-$(date +%F).tar.gz /etc/navidrome.toml /var/lib/navidrome