База знаний
Личный музыкальный архив без потери оригиналов
Методология безопасной сборки личной музыкальной медиатеки из облака, торрентов, дисков и старых папок: оригиналы, метаданные, QA и откат.
СейчасЦелевая архитектура архива
- Целевая архитектура архива
- Чеклист быстрой проверки
- Безопасная загрузка из источника
- Реестр и классификация файлов
- Разбор дубликатов и повреждений
- Метаданные в производных копиях
- Версионная сборка и подключение Navidrome
- Полное сканирование и проверка каталога
- Переход PUBLISHED → ACCEPTED
- Эталонный шаблон доказательств
- Откат публикации
- Типичные ошибки
- Официальные источники
- Следующий шаг
- Связанные материалы
Это руководство помогает перенести редкие DJ-миксы, личные записи и обычную музыку в удобную медиатеку, сохранив оригиналы и историю решений. Метод подходит для облачных дисков, торрент-папок, старых компьютеров, внешних накопителей и NAS.
Начало этой истории описано в статье «Я хотел просто слушать редкие DJ-миксы, а построил личный музыкальный архив». Продолжение — в материале «Как один музыкальный архив превратился в домашнюю медиасистему». Пример переноса большого облачного архива есть в статье «Как мы перегоняем терабайт с Яндекс.Диска на Synology под присмотром Codex». Короткая версия результата собрана в кейсе «Как редкие DJ-миксы стали личным музыкальным архивом».
MEGA, Synology и Navidrome можно заменить другими хранилищами и плеерами. Главный принцип остаётся прежним: источник сохраняется, исправления выполняются в отдельной копии, а результат принимает владелец в своём реальном сценарии прослушивания.
Целевая архитектура архива
| Слой | Назначение | Разрешённые действия | Доказательство |
| Загружаемый источник | Облако, торрент-папка, диск или старое хранилище | Чтение и инвентаризация | Снимок путей, размеров и количества объектов |
| Исходный архив | Локальная неизменяемая копия | Импорт без перезаписи | Реестр и отсутствие изменений после фиксации снимка |
| Рабочая библиотека | Отдельная версионная копия | Классификация, теги, обложки и исключения | Полный реестр и проверка выбранных файлов |
| Медиасервер | Каталог, поиск и воспроизведение | Подключение подготовленной версии | Завершённое сканирование и сверка счётчиков |
| Клиент владельца | Реальный сценарий прослушивания | Обновление, поиск, воспроизведение и перемотка | Подтверждение владельца и статус ACCEPTED |
Чеклист быстрой проверки
- Источники и зафиксированный исходный архив доступны рабочему процессу только для чтения.
- Импорт использует одностороннее копирование и не передаёт удаления или переименования обратно.
- До обработки сохранён реестр: путь, размер, формат, длительность, техническое состояние, теги и контрольная сумма.
- Каждый файл получил итоговую классификацию.
- Точные и вероятные дубликаты разделены; автоматического удаления нет.
- Метаданные меняются только в производных копиях, а причина изменения записывается в реестр.
- Повреждённые и неоднозначные файлы исключены из публикации, но сохранены в источнике.
- Новый кандидат собран рядом с активной библиотекой и имеет уникальную версию.
- Медиасервер видит только подготовленную версию; музыкальная папка по возможности подключена только для чтения.
- Перед переключением сохранены предыдущая библиотека, конфигурация и данные каталога.
- Полное сканирование завершено и подтверждено доступными счётчиками, логами или интерфейсом сервера.
- ACCEPTED ставится только после проверки в реальном клиенте владельца.
Безопасная загрузка из источника
Первый проход должен читать и копировать файлы, не управляя прежним хранилищем. Двусторонняя синхронизация, автоматическая очистка и перенос вместо копирования создают лишний риск.
Официальное руководство MEGAcmd для версии 2.6.0 подтверждает, что команда get загружает удалённый файл или папку, а sync настраивает двустороннюю синхронизацию: добавления и удаления повторяются с обеих сторон. Поэтому для первичного импорта из MEGA используйте загрузку в отдельный каталог, а не sync.
| Источник | Безопасный первый проход | Основной риск |
| MEGA и другие облака | Получить список объектов, затем скачать в отдельный каталог | Двусторонняя синхронизация может распространить удаление |
| Торрент-папка | Оставить раздаваемые файлы на месте и скопировать их | Переименование или ретегирование ломает раздачу |
| Внешний диск или старый компьютер | Снять реестр и копировать партиями с проверкой | Нестабильный носитель может отказать во время прохода |
| NAS или общая папка | Подключить исходную папку только для чтения | Ошибочные права могут разрешить массовую перезапись |
| Действующая медиатека | Скопировать доступные аудиофайлы в исходный слой | База плеера не заменяет сами файлы |
Практика для Яндекс.Диска описана в статье о прямом переносе на Synology, а для MEGA — в руководстве по MEGAcmd.
- Получите полный список объектов без изменения файлов.
- Проверьте конфликты путей и коллизии имён.
- Загружайте во временный файл, проверяйте размер и только затем выполняйте атомарное переименование.
- Если назначение уже существует, сохраните его и зафиксируйте конфликт.
- Вероятные и неоднозначные совпадения отправляйте в карантин; конфликтующие классификации оставляйте в
REVIEW_REQUIRED.
В одном проходе с MEGA 200 новых объектов были добавлены в локальный исходный слой без изменения существующих файлов. Повторный запуск ничего не скопировал. Для торрент-папки аналогичной проверкой служит неизменность раздаваемых файлов, для внешнего диска — совпадение количества, размеров и контрольных сумм.
Реестр и классификация файлов
Путь и имя помогают ориентироваться, но не доказывают артиста, релиз или дубликат. Решение опирается на контрольную сумму, техническое состояние, теги, длительность, версию записи и подтверждённое происхождение.
| Классификация (Disposition) | Когда ставить | Что происходит дальше |
| LIBRARY_CANDIDATE | Файл исправен, назначение понятно | Попадает в версионный кандидат |
| QUARANTINE_DUPLICATE | Есть точный или вероятный дубль | Сохраняется до отдельного решения |
| HOLD_SOURCE_DAMAGE | Не проходит декодирование или проверка контейнера | Не публикуется и не исправляется автоматически |
| UNSUPPORTED_PRESERVED | Формат не входит в текущую библиотеку | Остаётся в исходнике и реестре |
| ALREADY_PRESENT | Происхождение в активной библиотеке доказано | Повторно не добавляется |
| REVIEW_REQUIRED | Данных недостаточно или классификации конфликтуют | Ожидает человеческого решения |
В одном из проходов реестр распределил 826 файлов в библиотеку «Музыка», 449 — в «Моё», 285 оставил в HOLD, выделил 10 точных и 146 вероятных дубликатов. Источник получил ноль записей.
Разбор дубликатов и повреждений
- Одинаковая контрольная сумма с высокой практической уверенностью указывает на совпадение байтов, но ещё не выбирает каноническое имя или расположение.
- Близкая длительность и одинаковое название создают вероятную пару, которую нужно проверить прослушиванием.
- FLAC и MP3 одного релиза могут сохраняться для разных сценариев. Решение о каноническом формате фиксируется явно.
- Перед любым решением по повреждённому файлу сохраняются его контрольная сумма и ошибка декодера.
В практическом проходе пять пересекающихся релизов были оставлены в FLAC, их MP3-версии отправлены в карантин, а релизы только в MP3 сохранены в библиотеке. Один повреждённый трек остался в HOLD и не попал в Navidrome.
Метаданные в производных копиях
По состоянию на 8 сентября 2026 года официальное руководство Navidrome указывает, что каталог строится по тегам аудиофайлов и не использует имена папок и файлов для группировки треков. Минимальный набор включает Title, Artist, Album, Album Artist и Track Number. Для многодисковых релизов используйте Disc Number, чтобы различать диски.
- Сохраните исходные теги и предполагаемые новые значения в реестре.
- Автоматически применяйте только правила с точным условием, например заранее утверждённое соответствие конкретного исходного значения.
- Используйте папку как подсказку, а не единственное доказательство.
- Исправляйте нечитаемую кодировку только обратимым преобразованием с проверкой результата.
- Нетегируемые файлы сохраняйте побайтно неизменными; обложку при необходимости размещайте рядом отдельным файлом.
Для нескольких исполнителей Navidrome рекомендует многозначные теги ARTISTS и ALBUMARTISTS, если формат и редактор их поддерживают. Отдельные ARTIST и ALBUMARTIST при этом могут задавать отображаемую подпись. Такой способ точнее разделителей внутри одной строки.
В проходе восстановления артистов число пустых Artist уменьшилось с 328 до 65, а существующие непустые значения не менялись. В другом проходе были исправлены 34 строки с повреждённой кодировкой; 807 строк остались побайтно неизменными.
Версионная сборка и подключение Navidrome
Новый кандидат собирается рядом с активной библиотекой, полностью проверяется и только затем подключается вместо предыдущей версии. Старый принятый каталог остаётся готовым к возврату.
services:
navidrome:
image: deluan/navidrome:<PINNED_VERSION>
user: "<UID>:<GID>" # владеет /data и может читать /music
environment:
ND_SCANNER_SCANONSTARTUP: "false"
volumes:
- /srv/navidrome/data:/data
- /srv/music/candidates/listener-v8:/music:roОфициальная Docker-документация Navidrome подтверждает разделение прав: каталог /data должен быть доступен для чтения и записи, поскольку там создаются база и кэш; для /music достаточно чтения. Значения PUID и PGID официальный образ не использует — UID и GID задаются директивой user. Запуск контейнера от root не рекомендуется как способ исправления прав.
Scanner.ScanOnStartup в примере относится к контролируемому публикационному окну. Постоянную конфигурацию выбирайте отдельно.Полное сканирование и проверка каталога
Доступность сервера ещё не подтверждает полноту индекса. Для новой библиотеки нужны полное сканирование, сверка каталога и отдельная клиентская проверка.
navidrome scan --full
# Для выбранных папок; идентификатор библиотеки и путь разделяются двоеточием:
navidrome scan --target 1:Music/Rock --target 2:AudiobooksВ Docker Compose официальный справочник командной строки Navidrome (CLI) предлагает запускать полный проход так:
docker compose run --rm navidrome scan --fullCLI-контейнер должен использовать те же версию образа, тома, окружение и конфигурацию, что и основной сервер. Для автоматизации полезно явно указывать файл конфигурации глобальным флагом -c или --configfile.
Засчитывайте публикацию только после успешного завершения команды и сверки активных счётчиков с реестром. Дополнительные проверки базы и ожидаемых записей определяются вашей конфигурацией.
Один реальный запуск пришлось откатить: сканирование при запуске началось одновременно с целевым проходом, счётчики устарели, а база закрылась. После восстановления прежнего состояния публикация была повторена с временным ND_SCANNER_SCANONSTARTUP=false.
Переход PUBLISHED → ACCEPTED
| Состояние | Что доказано | Чего ещё нет |
| PUBLISHED | Версия подключена, индекс обновлён, технические проверки прошли | Проверки на устройстве владельца |
| PUBLISHED_PENDING_QA | Техническая часть стабильна, запрос проверки зафиксирован | Обновление, поиск, воспроизведение, перемотка и визуальная проверка |
| ACCEPTED | Владелец подтвердил клиентский сценарий | Контур закрыт, доказательства сохранены |
Проверьте библиотеку в приложении, которым действительно пользуется владелец:
- Найдите новый репрезентативный релиз и старый контрольный трек.
- Проверьте библиотеку, исполнителя, альбом, название и обложку.
- Запустите воспроизведение минимум на 10 секунд и перемотайте трек.
- Повторите воспроизведение через используемый удалённый маршрут.
- Убедитесь, что HOLD-файл отсутствует, а старый контрольный трек работает.
По состоянию на 8 сентября 2026 года официальный каталог клиентов Navidrome указывает Amperfy как OpenSubsonic-клиент для iOS, iPadOS и macOS с автономным режимом и интеграцией CarPlay. Arpeggi указан как OpenSubsonic-клиент для iOS и iPadOS 17+ и по-прежнему распространяется через TestFlight.
В одном проходе серверная публикация осталась в состоянии PUBLISHED_PENDING_QA из-за отсутствия проверки в Amperfy. В другом Сергей обновил библиотеку и подтвердил воспроизведение в приложениях, после чего состояние перешло из PUBLISHED в ACCEPTED. Отдельное исправление метаданных стало ACCEPTED после проверки примеров в Arpeggi.
Эталонный шаблон доказательств
job:
source_snapshot: <manifest-sha256>
source_writes: 0
candidate: listener-v8
dispositions:
library: <count>
quarantine_duplicate: <count>
hold_source_damage: <count>
verification:
selected_pass: <count>
selected_fail: 0
source_or_mount_read_only: true
full_index: true
catalog_check: ok
publication:
state: PUBLISHED_PENDING_QA
rollback_bundle: <path>
consumer_qa:
client: <actual-owner-client>
checks: [refresh, find, metadata, cover, play, seek, remote-route, hold-absent]
owner_confirmed: falseОткат публикации
- Остановите медиасервер или публикационный процесс.
- Верните предыдущую конфигурацию и подключение к сохранённому принятому каталогу.
- При необходимости восстановите базу только на остановленном сервисе. Официальный CLI Navidrome прямо требует выполнять
backup restore, когда сервер не запущен. - Запустите контролируемое сканирование и повторите короткую серверную проверку.
- Проверьте старый контрольный трек в клиенте.
Откат меняет активную производную библиотеку и при необходимости базу каталогизатора. Исходный слой остаётся неизменным, а неудачный кандидат сохраняется как доказательство ошибки до отдельного решения об очистке.
Типичные ошибки
- Использовать двустороннюю синхронизацию для неизменяемого источника.
- Менять теги и имена в исходном слое или активной библиотеке.
- Считать папку, имя или один размер доказательством происхождения и дубликата.
- Автоматически перекодировать повреждённый файл и объявлять его восстановленным.
- Запускать конкурирующие процессы индексирования.
- Удалять старую производную библиотеку сразу после серверной публикации.
- Считать успешный код завершения, доступный
/pingили состояние контейнера пользовательской приёмкой.
Официальные источники
- MEGAcmd: User Guide (версия 2.6.0)
- Navidrome: Installing with Docker
- Navidrome: Tagging Guidelines
- Navidrome: Command-Line Interface
- Navidrome: приложения-клиенты, включая Amperfy и Arpeggi
- Amperfy: официальный репозиторий
Источники и изменчивые сведения проверены 8 сентября 2026 года.
Следующий шаг
Navidrome на Synology: домашняя музыкальная медиатека с Amperfy
Связанные материалы
Статья: Как один музыкальный архив превратился в домашнюю медиасистему
Блог: Что делать с Synology после настройки: фото, музыка и архив
База знаний: MEGA — полное руководство по надёжности, MEGAcmd и сценариям для Pro-аккаунта
Такой контур полезен владельцам редких коллекций и командам, которым нужно улучшать каталог без риска потерять исходники и историю решений.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov
Если хотите разобрать свою задачу — напишите мне Если хотите разобрать свою задачу — напишите мне.
Можно прийти с идеей, черновым контекстом или уже живой задачей. Помогу быстро понять, где реальный следующий шаг, а где лишний шум.
Обычно хватает 2–3 сообщений, чтобы понять, могу ли я здесь реально помочь и в каком формате лучше двигаться дальше.
Дальше по теме
Методология, которая превращает сайт из витрины для людей в среду, понятную ИИ-агентам: предсказуемые URL, машиночитаемые слои, граф связей, правила доступа и редакторский контроль…