- Python 98.1%
- Dockerfile 1.9%
| .env.example | ||
| .gitignore | ||
| compose.yml | ||
| Dockerfile | ||
| README.md | ||
| sync.py | ||
| test_sync.py | ||
YouTube «Мой супермикс» → отдельный Navidrome
Проект скачивает текущий «Мой супермикс», сохраняет старые треки, которые
лайкнуты или добавлены в другой плейлист Navidrome, и обновляет .m3u8.
1. Дайте Navidrome доступ к музыке
Если Navidrome работает в Docker, добавьте в его Compose абсолютный путь:
services:
navidrome:
volumes:
- /home/maxim/projects/yt-navidrome/music:/music/youtube-supermix:ro
Затем пересоздайте контейнер Navidrome. Если его музыкальная библиотека имеет другой путь, папка проекта всё равно должна находиться внутри этой библиотеки.
2. Настройте проект
cp .env.example .env
mkdir -p music secrets
В .env укажите URL «Моего супермикса», учётные данные администратора для
запуска сканирования, учётные данные пользователя, чьи избранное и плейлисты
нужно сохранять, и адрес Navidrome. Для сервера на этом же Linux-хосте оставьте
http://127.0.0.1:4533; для другого сервера укажите его LAN URL.
NAVIDROME_LIBRARY_PATH должен совпадать с путём этой папки внутри библиотеки
Navidrome, без /music/. Для примера выше это youtube-supermix.
Экспортируйте cookies авторизованного YouTube в Netscape-формате и сохраните в
secrets/youtube.txt.
Каталог secrets остаётся read-only: перед запуском yt-dlp cookies копируются
во временный файл и удаляются вместе с контейнером.
3. Запускайте вручную
docker compose run --rm --build sync
Compose автоматически запустит bgutil PO Token Provider на локальном порту
4416. Токены генерируются для каждого видео; вводить и обновлять их вручную не
нужно.
Скачивание завершается до очистки старых файлов. При ошибке YouTube старые песни не удаляются.