Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted

Синхронизация плейлистов Spotify с NocoDB

Получает данные о музыке из Spotify и сохраняет их в базу NocoDB. Обрабатывает информацию батчами для эффективной синхронизации.

Показать оригинал (англ.)
Code Workflow

Automated workflow: Code Workflow. This workflow integrates 10 different services: stickyNote, filter, code, scheduleTrigger, merge. It contains 30 nodes and follows best practices for error handling and security.

По расписанию (Schedule)Продвинутый · 31 нодаSpotifySplitinbatchesNocodb
Как это работает

Схема сценария, как в редакторе n8n: ноды и связи между ними. Кликните, чтобы рассмотреть.

клик - увеличить ⤢{}Get current datecode⑂Get last 10 likedtracksspotify◆Check if track issavednocoDb⑂Is not savedif◆Create song entrynocoDb⑂Get all userplaylistspotify⑂Get monthlyplaylistfilter◆Get playlist in DBnocoDb⑂Monthly playlistexist in Spotify ?if⑂Playlist exist inDB ?…if⑂Create playlist inSpotifyspotify◆Create playlist inDB1nocoDb◆Create playlist inDBnocoDb◆Mergemerge◆Clean opnoOp◆Clean op2noOp◆Get this monthplaylist in DBnocoDb◆Get this monthtracks in DBnocoDb⑂Add song to theplaylistspotify◆For each tracks inliked songsplitInBatches◆For each monthlytracks in DBsplitInBatches⑂Get this monthtracks in Spotifyspotify⑂Filter1filter⑂Song is notpresent in the…if◆Clean op1noOp⏱Schedule TriggerscheduleTrigger◆EndnoOp⚠Error HandlerstopAndError
  1. ТриггерSchedule TriggerSchedule
  2. ДействиеGet current dateCode
  3. ДействиеGet all user playlistSpotify
  4. ДействиеGet last 10 liked tracksSpotify
  5. ДействиеGet monthly playlistFilter
  6. ДействиеFor each tracks in liked songSplit In Batches
  7. ДействиеMonthly playlist exist in Spotify ?If
  8. ДействиеCheck if track is savedNoco Db
  9. Обработка ошибокError HandlerStop And Error
  10. ДействиеGet playlist in DBNoco Db
  11. ДействиеCreate playlist in SpotifySpotify
  12. ДействиеIs not savedIf
  13. ДействиеPlaylist exist in DB ?If
  14. ДействиеCreate playlist in DB1Noco Db
  15. ДействиеCreate song entryNoco Db
  16. ДействиеCreate playlist in DBNoco Db
  17. ДействиеClean op2No Op
  18. ДействиеClean opNo Op
  19. ДействиеMergeMerge
  20. ДействиеGet this month playlist in DBNoco Db
  21. ДействиеGet this month tracks in DBNoco Db
  22. ДействиеFor each monthly tracks in DBSplit In Batches
  23. ДействиеGet this month tracks in SpotifySpotify
  24. ДействиеFilter1Filter
  25. ДействиеSong is not present in the playlist ?If
  26. ДействиеAdd song to the playlistSpotify
  27. ДействиеClean op1No Op
  28. ДействиеEndNo Op

Сценарий «Синхронизация плейлистов Spotify с NocoDB» состоит из 28 нод: Schedule Trigger, Get current date, Get all user playlist, Get last 10 liked tracks, Get monthly playlist, For each tracks in liked song, Monthly playlist exist in Spotify ?, Check if track is saved и других. Интеграции: Spotify, Splitinbatches, Nocodb.

Что понадобится
ПараметрЗначениеОписание
Учётные данныеSpotify · Splitinbatches · NocodbДля каждого сервиса нужен свой ключ/токен - впишете их в n8n после установки.
Объём сценария31 нода · продвинутыйЧисло нод и уровень сложности логики. Больше нод - тоньше настройка.
Форматn8n workflow JSONГотовый воркфлоу. При развороте через кнопку импортируется автоматически.
Установка в один клик

Развернуть n8n с этим сценарием

Готовый сервер с n8n из маркетплейса Fatmetal - воркфлоу уже загружен. Рекомендованная конфигурация уже подставлена в заказ: 2 CPU · 4 ГБ · 50 ГБ. Останется вписать свои ключи, и автоматизация заработает. Нужна помощь с настройкой под нагрузку или сетью? Напишите инженеру.

Защищённый инстанс

n8n отдаём закрытым, а не голым

n8n часто атакуют - поэтому инстанс приезжает уже защищённым, без ручной настройки.

Владелец создан заранее

Аккаунт администратора настроен автоматически при развёртывании. Окно самостоятельной регистрации закрыто - никто не перехватит ваш инстанс в первые минуты после запуска (частый вектор атаки на self-hosted n8n).

Единый пароль с сервером

Логин в n8n - тот же пароль, что у вашей машины. Не нужно искать отдельные креды в файлах, меньше шансов оставить дефолт.

fail2ban против перебора

Автоматически банит IP после серии неудачных попыток входа по SSH. Защита от брутфорса из коробки.

HTTPS и security-заголовки

Трафик шифруется (Let's Encrypt, авто-обновление), выставлены HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy - защита от кликджекинга, MIME-снифинга и downgrade-атак.

Что дальше

После оплаты - сервер с готовым сценарием

Сервер создаётся автоматически за несколько минут. Ничего настраивать вручную не нужно - n8n поднимется сам, а этот сценарий уже будет внутри.

1

Сервер создаётся

После оплаты сервер разворачивается автоматически за несколько минут: ставится n8n, база данных и HTTPS. Дождитесь готовности в личном кабинете.

2

Открываете адрес

Адрес формируется из IP сервера: замените точки на дефисы и добавьте .fatmetal.net. Например IP 45.15.159.10 → https://45-15-159-10.fatmetal.net/. HTTPS уже настроен. Готовый адрес также есть в личном кабинете - можно просто скопировать его оттуда.

3

Входите готовыми данными

Аккаунт владельца уже создан - регистрировать ничего не нужно. Логин: admin@<адрес вашего сервера> (тот же адрес, что открыли на шаге 2 - например admin@45-15-159-10.fatmetal.net). Пароль - тот же, что у вашего сервера: он в личном кабинете и в /root/n8n-credentials.txt на сервере. Войдите и при желании сразу смените пароль в настройках. Интерфейс английский - у n8n нет русской локализации.

4

Сценарий уже внутри

Этот сценарий уже импортирован - найдёте его в разделе Workflows. Останется вписать свои ключи для интеграций (Spotify, Splitinbatches, Nocodb) в Credentials и включить сценарий.

Важно: сохраните ключ шифрования. Ключ (N8N_ENCRYPTION_KEY) и пароль базы лежат на сервере в /root/n8n-credentials.txt. Этим ключом зашифрованы учётные данные интеграций - берегите его и сделайте резервную копию: без ключа их не восстановить даже из бэкапа базы.
Оригинал сценария (англ.): «Code Workflow». Источник: коллекция Zie619/n8n-workflows (лицензия MIT).
Спросить инженера в TelegramМы на связи