pimenov.ai

База знаний

Navidrome на Synology: домашняя музыкальная медиатека с Amperfy

Пошаговая установка Navidrome на Synology через Container Manager: подключение Amperfy, удалённый доступ, проверка медиатеки и резервное копирование.

Опубликовано

Эта связка теперь лежит в основе моей домашней медиасистемы: Synology хранит музыкальный архив, Navidrome превращает его в личный стриминговый сервис, а Amperfy используется для прослушивания на iPhone.

Музыка остаётся в обычных файлах на NAS. Navidrome индексирует коллекцию и отдаёт её через веб-интерфейс и совместимый API. Сервер можно заменить, обновить или перенести, не трогая оригиналы.

📌
Дата проверки: 13 августа 2026 года. Рабочий пример зафиксирован на образе Navidrome 0.63.2. Перед установкой проверьте список релизов и совместимость Container Manager с вашей моделью Synology. Если доступна более новая стабильная версия, сначала прочитайте примечания к релизу.

Как устроена связка Synology, Navidrome и Amperfy

flowchart LR
    F["Музыкальные файлы"] --> N["Synology NAS"]
    N --> V["Navidrome"]
    V --> W["Веб-интерфейс"]
    V --> A["Amperfy на iPhone"]
    A --> O["Офлайн-загрузка и CarPlay"]
    N --> B["Резервная копия"]

У каждого компонента своя задача:

  • Synology хранит оригинальные аудиофайлы и резервные копии конфигурации.
  • Navidrome сканирует теги, создаёт каталог, управляет пользователями, плейлистами и воспроизведением.
  • Amperfy подключается к серверу через Subsonic/OpenSubsonic API и отвечает за мобильное прослушивание.
  • Tailscale или другая частная сеть даёт доступ вне дома без публикации порта Navidrome в интернете.

Navidrome не загружает музыку на NAS и не редактирует файлы. Новые альбомы добавляются через File Station, SMB или другой файловый инструмент, после чего сервер обновляет индекс.

Что потребуется

Перед установкой проверьте:

На Synology установлен DSM и создан исправный том.
В Package Center доступен Container Manager.
Музыка находится в отдельной общей папке, например /volume1/music.
Для контейнеров создан каталог /volume1/docker/navidrome.
У сервисного пользователя есть чтение музыкальной папки и запись в каталог данных Navidrome.
Музыкальные файлы имеют заполненные теги.
Есть резервная копия музыкального архива.
Для удалённого доступа выбран Tailscale, VPN или защищённый обратный прокси.

Если Container Manager не отображается в Package Center, не продолжайте установку по этому сценарию: проверьте совместимость модели и архитектуры NAS на сайте Synology. Для несовместимой модели понадобится другой хост для контейнера.

Если NAS ещё не приведён в порядок, сначала пройдите руководство Synology NAS с нуля: полная базовая настройка DSM для дома. В нём разобраны диски, пользователи, общие папки, безопасность и резервное копирование.

⚠️
Navidrome строит каталог по тегам и не предоставляет полноценный просмотр исходных папок. Если в архиве не заполнены Album, Album Artist, номера треков и дисков, сначала приведите метаданные в порядок.

Подготовка папок и пользователя

Создайте такую структуру:

/volume1/music
/volume1/docker/navidrome/data

В первой папке находятся оригинальные FLAC, ALAC, MP3 и другие аудиофайлы. Во второй Navidrome хранит базу, кэш и встроенные копии базы. Конфигурация из этого руководства хранится отдельно в Compose-файле проекта.

Создайте в DSM отдельного пользователя, например navidrome. Дайте ему:

  • чтение общей папки с музыкой;
  • чтение и запись в /volume1/docker/navidrome;
  • никаких административных прав.

Для запуска контейнера от этого пользователя понадобятся его числовые UID и GID. Их можно посмотреть через SSH:

id navidrome

Команда вернёт значения примерно в таком формате:

uid=YOUR_UID(navidrome) gid=YOUR_GID(users)

Подставьте полученные числа в Compose-файл. После проверки SSH можно снова отключить.

Установка через Container Manager

Откройте Container Manager → Проект → Создать.

Укажите:

  • имя проекта: navidrome;
  • путь: /volume1/docker/navidrome;
  • источник Compose: создать файл вручную.

Используйте такой конфиг:

services:
  navidrome:
    image: deluan/navidrome:0.63.2
    container_name: navidrome
    user: "YOUR_UID:YOUR_GID"
    ports:
      - "4533:4533"
    restart: unless-stopped
    environment:
      ND_LOGLEVEL: info
      ND_SCANNER_SCHEDULE: 1h
      ND_SESSIONTIMEOUT: 24h
      ND_ENABLEINSIGHTSCOLLECTOR: "false"
      ND_BACKUP_PATH: /data/backups
      ND_BACKUP_SCHEDULE: "0 3 * * *"
      ND_BACKUP_COUNT: "7"
    volumes:
      - /volume1/docker/navidrome/data:/data
      - /volume1/music:/music:ro

Замените YOUR_UID:YOUR_GID значениями сервисного пользователя. Если музыка лежит в другом месте, измените левую часть второго volume.

Подключение :ro монтирует музыкальную папку только для чтения. Даже при ошибке приложения Navidrome не сможет удалить или изменить оригиналы.

Запустите сборку проекта. После старта откройте:

http://IP-АДРЕС-SYNOLOGY:4533

При первом входе Navidrome предложит создать административную учётную запись.

💡
Для воспроизводимой установки фиксируйте стабильную версию образа. Не заменяйте её на latest, если хотите контролировать момент обновления.

Первое сканирование медиатеки

После создания администратора Navidrome начнёт сканировать /music. Для первой проверки не обязательно сразу подключать весь архив. Можно начать с одного тестового альбома, дождаться завершения сканирования в журнале и убедиться, что в веб-интерфейсе совпадают исполнитель, название альбома, число треков и обложка. Большая коллекция при первом проходе может заметно нагружать диски и сканироваться несколько часов.

После базового теста проверьте несколько типов альбомов:

  1. обычный альбом одного исполнителя;
  2. сборник Various Artists;
  3. многодисковое издание;
  4. альбом с приглашёнными исполнителями;
  5. FLAC или другой формат, который вы слушаете чаще всего.

Для предсказуемой каталогизации достаточно такого набора тегов:

ТегНазначение
TitleНазвание трека
ArtistИсполнитель трека
AlbumНазвание альбома
Album ArtistОсновной исполнитель альбома
Track NumberПозиция трека
Disc NumberНомер диска
YearГод издания
CompilationПризнак сборника

Если один альбом распался на несколько, сначала проверьте одинаковое значение Album Artist. Для сборников установите признак compilation. Navidrome рекомендует исправлять файлы через MusicBrainz Picard, Mp3tag, beets или другой редактор тегов.

Подключение Amperfy

Amperfy — бесплатный open-source-клиент для iPhone, iPad и Mac. Он работает с Ampache и Subsonic-совместимыми серверами, поэтому подключается к Navidrome без дополнительного плагина.

Приложение поддерживает:

  • офлайн-загрузку;
  • CarPlay;
  • gapless playback для совместимых форматов;
  • ReplayGain;
  • эквалайзер;
  • избранное и оценки;
  • Siri и Shortcuts;
  • scrobbling.

На дату проверки версия 2.1.0 требует iOS, iPadOS или macOS 26.

Для подключения:

  1. Установите Amperfy из App Store.
  2. Добавьте новый Subsonic-аккаунт.
  3. В поле адреса укажите базовый URL Navidrome, например http://IP-АДРЕС-SYNOLOGY:4533, без суффикса /rest.
  4. Введите логин и пароль пользователя Navidrome.
  5. Запустите синхронизацию библиотеки.
  6. Откройте альбом и проверьте воспроизведение.
  7. Скачайте один альбом, включите авиарежим и проверьте офлайн-доступ.
  8. Если используете автомобиль, отдельно проверьте очередь и навигацию в CarPlay.

Отдельно протестируйте форматы, которые реально есть в архиве: например, FLAC, ALAC и Opus. Поддержка конкретного файла зависит от кодека, возможностей iOS и того, запрашивает ли клиент серверное транскодирование. Успешное воспроизведение одного MP3 не подтверждает совместимость всей медиатеки.

Для каждого человека лучше создать отдельного пользователя Navidrome. Тогда избранное, история и плейлисты не будут смешиваться.

Доступ вне дома

Порт 4533 не следует пробрасывать на роутере напрямую.

Наиболее простой безопасный вариант для домашней системы:

  1. установите Tailscale на Synology;
  2. установите Tailscale на iPhone;
  3. авторизуйте оба устройства в одной частной сети;
  4. укажите в Amperfy адрес NAS внутри Tailscale:
http://100.x.y.z:4533

Можно использовать и MagicDNS-имя устройства, если оно включено в вашей сети.

Для входящего доступа к сервису на NAS стандартной установки Tailscale обычно достаточно. Настройка TUN нужна, когда приложения на DSM должны сами устанавливать исходящие соединения с другими узлами Tailscale. Если TUN включён вместе с DSM Firewall, добавьте разрешающее правило для источника 100.64.0.0/10 и TCP-порта 4533. Не создавайте правило для всех внешних адресов. Версия Tailscale в Package Center может отставать, поэтому включите её регулярное обновление.

После настройки выключите Wi-Fi на телефоне и проверьте воспроизведение через мобильный интернет. Amperfy должен открыть тот же каталог без изменения аккаунта.

🔴
Не открывайте Navidrome и DSM напрямую в интернет ради мобильного прослушивания. Используйте частную сеть либо обратный прокси с HTTPS и отдельной проверенной схемой аутентификации.

Резервное копирование и проверка восстановления

Музыкальная система состоит из трёх частей, и каждую нужно защищать отдельно.

Музыкальные файлы находятся в /volume1/music. Это основной архив, который встроенный бэкап Navidrome не копирует.

Данные приложения находятся в /volume1/docker/navidrome/data. Здесь хранятся база, пользователи, плейлисты, избранное, история прослушивания и кэш.

Конфигурация проекта хранится в Compose-файле внутри /volume1/docker/navidrome. Она также не входит во встроенную копию базы.

Переменные ND_BACKUP_PATH, ND_BACKUP_SCHEDULE и ND_BACKUP_COUNT создают ежедневную копию базы в /data/backups в 03:00 и оставляют семь последних файлов. Этот механизм не резервирует музыку и Compose-файл.

В Hyper Backup включите общие папки, содержащие оба каталога:

/volume1/music
/volume1/docker/navidrome

Если интерфейс Hyper Backup позволяет выбирать только общие папки целиком, включите соответствующие общие папки music и docker, а не полагайтесь на выбор одной подпапки data.

После запуска проверьте, что встроенный бэкап действительно создаётся:

sudo find /volume1/docker/navidrome/data/backups -maxdepth 1 -type f -ls

Для ручной проверки из каталога проекта можно создать копию командой:

cd /volume1/docker/navidrome
sudo docker compose run --rm navidrome backup create
⚠️
Копия считается рабочей только после проверки восстановления. Восстанавливайте базу при остановленном Navidrome: остановите сервис проекта, выполните sudo docker compose run --rm navidrome backup restore, затем снова запустите проект и проверьте пользователей, плейлисты и избранное. Перед тестом сохраните отдельную копию текущего каталога проекта.

RAID и SHR защищают от отказа накопителя, но не заменяют резервную копию. Для музыкального архива действует правило 3-2-1: три копии, два типа носителей, одна копия вне дома.

Подробная схема разобрана в материале Домашнее облако на Synology: Immich и резервная копия 3-2-1.

Обновление и откат Navidrome

Перед обновлением:

  1. проверьте свежую встроенную копию базы;
  2. сохраните отдельную копию всего каталога /volume1/docker/navidrome;
  3. запишите текущий тег образа, чтобы к нему можно было вернуться;
  4. откройте список релизов Navidrome;
  5. прочитайте изменения между текущей и новой версиями;
  6. замените тег образа в Compose-файле;
  7. пересоберите проект и проверьте журнал запуска;
  8. откройте веб-интерфейс и Amperfy;
  9. проверьте пользователей, плейлисты, избранное и воспроизведение.

Не удаляйте каталог /data при пересборке. Если новая версия не запускается или нарушает работу клиентов, верните прежний тег образа и пересоберите проект. Если обновление изменило базу несовместимым образом, остановите Navidrome и восстановите проверенную копию базы.

Типичные проблемы

СимптомВозможная причинаЧто проверить
Библиотека пустаяОшибка пути или правVolume /music, UID/GID, права пользователя
Альбом разделён на несколькоРазличается Album ArtistТеги всех треков альбома
Не видны исходные папкиШтатная логика NavidromeИспользуйте теги или выберите folder-first сервер
Amperfy не подключаетсяНеверный адрес или сетьБазовый URL без /rest, порт 4533, доступность NAS
Дома работает, с мобильной сети нетНет удалённого маршрутаTailscale на NAS и телефоне, ACL частной сети
Некоторые форматы не играютОграничение клиента или профиляПроверить исходный формат и настройки транскодирования
После пересборки пропали настройкиНе подключён постоянный /dataVolume /volume1/docker/navidrome/data:/data
Новая музыка не появиласьНе завершено сканированиеЖурнал контейнера и расписание ND_SCANNER_SCHEDULE

Журнал Navidrome доступен в деталях контейнера в Container Manager. При работе через терминал его можно открыть командой:

sudo docker logs --tail 200 navidrome

Проверка готовой системы

Веб-интерфейс открывается по локальному адресу.
Администратор и обычный пользователь созданы.
Музыкальная папка подключена только для чтения.
Альбомы правильно собраны по тегам.
Обложки отображаются.
Amperfy синхронизировал библиотеку.
Воспроизведение работает дома.
Альбом доступен в офлайн-режиме.
CarPlay проверен, если используется.
Доступ через мобильную сеть работает по частному маршруту.
Порт 4533 не опубликован напрямую.
Музыка и весь каталог проекта Navidrome входят в Hyper Backup.
В /data/backups появился свежий файл встроенной копии базы.
Процедура восстановления базы проверена при остановленном Navidrome.
После перезапуска контейнера пользователи и плейлисты сохраняются.
Для обновления сохранён сценарий отката на предыдущий тег образа.

Система готова, если один и тот же альбом находится через веб-интерфейс и Amperfy, воспроизводится дома и через мобильную сеть, работает офлайн, а после перезапуска сохраняются пользователи, избранное и плейлисты.

Официальные источники

По теме

Следующий шаг

Своя музыка вместо стримингов: Plex и пять альтернатив для Synology

Связанные материалы

Домашняя медиасистема затрагивает хранение, удалённый доступ и резервное копирование. Такой контур полезно проверять целиком, а не только на уровне музыкального приложения.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov