Navidrome это лёгкий музыкальный сервер с открытым кодом: вы указываете папку со своей коллекцией, а он даёт веб-плеер и стриминг на телефон, планшет или компьютер по Subsonic-совместимому API. Без подписки и без загрузки треков в чужое облако. Написан на Go, ставится одним бинарником или в Docker, хорошо живёт на домашнем сервере, NAS или VPS рядом с диском с музыкой.

Пошаговая установка с Nginx и HTTPS на домашнем сервере разобрана отдельно, в руководстве в разделе про домашний сервер. Здесь коротко о том, что умеет Navidrome и как его настроить.
Зачем он нужен
Если музыка лежит папками (FLAC, MP3 и остальное), а слушать хочется с телефона в дороге или с ноутбука из другой сети, вариантов немного: стриминговый сервис, ручное копирование файлов или свой сервер. Navidrome это третий путь: один раз указали каталог, дальше у вас библиотека с обложками, плейлистами, поиском и доступом с любого устройства.
Что умеет
- сканирует каталог и строит библиотеку: исполнители, альбомы, жанры, обложки, теги;
- играет MP3, FLAC, AAC/M4A, OGG/Opus, WAV и другие форматы, а на лету перекодирует через ffmpeg, если клиент просит меньший битрейт (по умолчанию в Opus);
- плейлисты, избранное, рейтинги, поиск;
- несколько пользователей: можно дать доступ семье, не открывая весь диск;
- отправляет прослушивания в Last.fm и ListenBrainz.
Кроме встроенного веб-плеера работают клиенты Subsonic и OpenSubsonic для Android, iOS и компьютера, например Symfonium, Ultrasonic, play:Sub и Feishin. Полный список на странице приложений.
Свежая версия
Проект живой и обновляется часто. Последний релиз на конец сентября 2026 года это 0.64.2: в нём исправили ошибки «database is locked» и зависания интерфейса при сканировании библиотеки на медленных дисках (USB, сетевые хранилища), а ещё закрыли две проблемы безопасности. Одна из них: пароль администратора больше не попадает в лог, если первого пользователя не удалось создать.

Быстрый старт
Бинарник для Linux, macOS, Windows и FreeBSD и образ Docker есть на сайте и в репозитории. Минимально нужно указать папку с музыкой:
navidrome --musicfolder "/mnt/data/music"
Постоянные настройки удобнее держать в navidrome.toml или в переменных окружения с префиксом ND_, это особенно удобно в Docker. Пример конфига:
MusicFolder = "/mnt/data/music" DataFolder = "/var/lib/navidrome" Address = "127.0.0.1" Port = 4533 # раз в сутки в 4 утра, синтаксис cron Scanner.Schedule = "0 4 * * *" # кэш перекодированных треков, по умолчанию 100MB TranscodingCacheSize = "1500MB"
За автоматическое сканирование в текущих версиях отвечают параметры Scanner.*. Старый ScanSchedule, который часто встречается в старых инструкциях, заменён на Scanner.Schedule с синтаксисом cron. Кроме расписания Navidrome следит за изменениями в папке сам и запускает сканирование через несколько секунд после появления новых файлов. Кэш перекодированных треков задаётся через TranscodingCacheSize, обложек через ImageCacheSize. Кэш стоит увеличить, если часто слушаете с мобильного интернета с пониженным битрейтом.

Веб-интерфейс по умолчанию слушает порт 4533. Первого пользователя, он же администратор, вы создаёте при первом входе, остальные аккаунты заводятся в админке.
Доступ извне через Nginx и HTTPS
Наружу Navidrome лучше не открывать по голому HTTP. Обычная схема: сервис слушает только 127.0.0.1:4533, а перед ним стоит Nginx или Caddy с сертификатом Let’s Encrypt:
server {
listen 443 ssl;
http2 on; # в nginx старше 1.25.1: listen 443 ssl http2;
server_name music.example.com;
ssl_certificate /etc/letsencrypt/live/music.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/music.example.com/privkey.pem;
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_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
}
}
proxy_buffering off важен для стриминга: иначе Nginx может копить ответ в буфере и воспроизведение будет рваться. Сертификат выпускается через certbot или другой ACME-клиент. Подробно связка Navidrome, Nginx и HTTPS разобрана на странице домашнего сервера.
Кому зайдёт
- есть NAS, домашний сервер или VPS и своя коллекция музыки;
- нужен доступ к ней извне без костылей с облачными дисками;
- важны lossless и полный контроль над файлами;
- хочется лёгкий сервис, а не тяжёлый медиакомбайн.
Если своей коллекции почти нет и слушаете в основном подборки стриминговых сервисов, свой сервер особого смысла не имеет. Если архив уже собран, Navidrome закрывает задачу «свой стриминг» без лишнего шума.
В итоге Navidrome это один небольшой сервис на Go, который превращает папку с музыкой в личный стриминг с веб-плеером и мобильными клиентами. Для старых инструкций главное поправить конфиг: сканирование теперь настраивается через Scanner.Schedule, а кэш через TranscodingCacheSize.
