No description
  • Python 98.1%
  • Dockerfile 1.9%
Find a file
2026-09-04 17:39:16 +03:00
.env.example fix finding protected files 2026-09-02 20:57:47 +03:00
.gitignore first commit 2026-09-01 23:33:02 +03:00
compose.yml fix finding protected files 2026-09-02 20:57:47 +03:00
Dockerfile add PO Token Provider 2026-09-02 00:23:03 +03:00
README.md fix finding protected files 2026-09-02 20:57:47 +03:00
sync.py fix retry system and creating playlist 2026-09-04 17:39:16 +03:00
test_sync.py fix retry system and creating playlist 2026-09-04 17:39:16 +03:00

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 старые песни не удаляются.