Лучшие самохостинговые музыкальные приложения для вашего 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