№3. Как развернуть локально базу данных Supabase

1. Введение

В этом гайде вы развернёте собственную базу данных Supabase на виртуальном сервере Beget и подключите её к вашему AI-агенту в Нейро42. Это позволит хранить все данные локально — без зависимости от облачного Supabase.

 

Что вы найдёте в этой инструкции:

  • Как зарегистрироваться и создать виртуальный сервер на Beget
  • Как установить Supabase одной кнопкой через готовые решения Beget
  • Как войти в локальный Supabase и создать таблицу через SQL Editor
  • Как найти нужный код для создания таблицы в документации n8n
  • Как подключить локальный Supabase к нодам воркфлоу через API-ключ
  • Как протестировать загрузку данных и опубликовать воркфлоу

 

💡 Совет:  Никакого опыта программирования не нужно — все SQL-скрипты уже готовы в документации, вам нужно только скопировать и вставить их.

 

2. Основные понятия

Термин Что это
Supabase Облачная (и локальная) база данных на основе PostgreSQL. Хранит векторные данные для AI-поиска
VPS (Виртуальный сервер) Ваш собственный сервер в облаке, на котором можно установить любое ПО — в т.ч. Supabase
RLS (Row Level Security) Защита строк таблицы. Нужно включить, чтобы n8n мог писать в таблицу через Service Role API
Service Role Secret Секретный API-ключ Supabase с полными правами. Нужен для подключения n8n
SQL Editor Встроенный редактор SQL-запросов в Supabase, через который создаётся таблица и функция поиска

 

3. Что понадобится

Что нужно Зачем / Где получить
Аккаунт Beget Хостинг-провайдер для установки Supabase. Регистрация на beget.ru
Пополненный баланс Beget VPS стоит от 7₽ в день. Минимальный баланс ~300₽
Готовый воркфлоу n8n с AI Agent Ваш воркфлоу из предыдущих гайдов с нодами Supabase Vector Store
Доступ к n8n (Нейро42) Платформа для управления воркфлоу

 

4. Основные шаги

Часть 1: Создание виртуального сервера и установка Supabase на Beget

Шаг 1. Войдите в личный кабинет Beget и нажмите «Создать»

Зайдите на cp.beget.com. После входа вы увидите панель управления с вашими сервисами. Пополните баланс, если необходимо — кнопка пополнения есть прямо на экране.

  • В левом меню или в центре экрана нажмите кнопку «Создать»
  • Из выпадающего меню выберите «Виртуальный сервер»

⚠️ Важно:  Перед созданием сервера убедитесь, что баланс пополнен. Минимальная конфигурация (1 ядро / 1 ГБ / 10 ГБ) стоит 7₽ в день.

 

Шаг 2. Выберите тариф

Откроется страница настройки виртуального сервера. Выберите подходящую конфигурацию.

  • Для начала работы достаточно минимального тарифа: 1 ядро / 1 ГБ RAM / 10 ГБ SSD — 7₽ в день
  • Для реальных проектов рекомендуется тариф от 2 ядер / 2 ГБ RAM

Шаг 3. Выберите Supabase из готовых решений

Пролистайте страницу вниз до раздела «Готовые решения». По умолчанию отображается ограниченный список приложений — нам нужно его расширить.

  • Нажмите «Показать все 57 приложений»
  • В строке поиска введите «Sup» или «Supabase»
  • Нажмите на карточку Supabase

 

Шаг 4. Настройте домен и создайте сервер

После выбора Supabase внизу появятся поля для настройки. Здесь важно задать доменное имя вашего сервера.

  • В поле «Домен» введите удобное вам имя (например, my-supabase или оставьте предложенный автоматически)
  • Нажмите «Задать пароль» или «Добавить SSH-ключ» для аутентификации
  • Нажмите кнопку «Создать» (или «Заказать»)

💡 Совет:  Доменное имя сервера рекомендуется изменить на понятное вам — оно будет частью URL для входа в Supabase (например: myproject.beget.app).

 

Шаг 5. Дождитесь установки Supabase (~10 минут)

После подтверждения начнётся автоматическая установка. В списке серверов появится новый сервер со статусом «Устанавливается».

  • Дождитесь, пока статус изменится — это занимает около 10 минут
  • Когда установка завершится, в карточке сервера появится кнопка «Информация о Supabase»

Шаг 6. Получите данные для входа в Supabase

Нажмите кнопку «Информация о Supabase». Откроется всплывающее окно со всеми необходимыми данными.

  • Запишите или сохраните: Адрес (URL), Домен, Имя пользователя (user), Пароль
  • Нажмите на ссылку Адрес — откроется новая вкладка с вашим локальным Supabase

⚠️ Важно:  Не теряйте эти данные! Пароль показывается только здесь. Если забудете — потребуется переустановка Supabase.

 

Шаг 7. Войдите в Supabase

В новой вкладке откроется форма авторизации. Используйте данные из предыдущего шага.

  • В поле «Имя пользователя» введите: user
  • В поле «Пароль» введите пароль из окна «Информация о Supabase»
  • Нажмите «Войти»

✅  Часть 1 завершена. Вы вошли в свой локальный Supabase!

 

Часть 2: Создание таблицы в Supabase через SQL Editor

Шаг 8. Откройте SQL Editor в боковом меню

Вы попали на главный экран Supabase — Default Project. Пока таблиц нет (Tables: 0). Нам нужно создать таблицу для хранения векторных данных.

  • В левом боковом меню нажмите на иконку, чтобы раскрыть навигацию
  • Нажмите на пункт «SQL Editor»

Шаг 9. Получите SQL-код из документации n8n

Нам нужен готовый SQL-скрипт для создания таблицы. Он находится в официальной документации n8n.

  • Откройте вашу ноду Supabase Vector Store в n8n
  • В правом верхнем углу ноды нажмите «Документация» — откроется страница Supabase Vector Store Node
  • Пролистайте вниз до раздела «Supabase Quick Start Settings» → «Set up your Vector Store»
  • Нажмите на ссылку — она ведёт на страницу Supabase Docs с готовым SQL-кодом
  • Нажмите кнопку «Копировать» и скопируйте весь код

💡 Совет:  Этот SQL-код создаёт таблицу documents с колонками id, content, metadata и embedding, а также функцию векторного поиска. Именно эту структуру ожидает нода Supabase Vector Store.

 

Шаг 10. Вставьте SQL-код и выполните его

Вернитесь в SQL Editor вашего локального Supabase.

  • Нажмите в поле редактора (правая часть экрана)
  • Вставьте скопированный SQL-код (Ctrl+V / Cmd+V)
  • Нажмите кнопку «Run» в правом верхнем углу (или Ctrl+Enter / Cmd+Enter)
  • Внизу должно появиться: «Success. No rows returned»

⚠️ Важно:  Если появилась ошибка — проверьте, что скопировали весь код целиком, от первой до последней строки. Частичный код вызывает ошибку синтаксиса.

 

Шаг 11. Проверьте таблицу в Table Editor

Убедитесь, что таблица создалась. В левом боковом меню нажмите на «Table Editor».

  • В списке таблиц должна появиться таблица documents
  • Рядом с ней горит оранжевая надпись «Unrestricted» — это значит, что RLS отключён
  • Нажмите на кнопку «RLS Disabled» в верхней панели — появится диалог подтверждения
  • Нажмите «Enable RLS» для активации защиты

⚠️ Важно:  Включение RLS обязательно! Без него n8n не сможет записывать данные через Service Role API. После включения оранжевая плашка исчезнет.

 

✅  Часть 2 завершена. Таблица documents создана и защищена.

 

Часть 3: Подключение локального Supabase к воркфлоу n8n

Шаг 12. Откройте ноду Supabase Vector Store (для загрузки документов)

Вернитесь в ваш воркфлоу на Нейро42. Нам нужно подключить локальный Supabase к ноде, которая загружает документы.

  • Найдите ноду Supabase Vector Store, которая связана с нодой Download File
  • Нажмите на неё двойным кликом, чтобы открыть настройки
  • В поле «Учётные данные для подключения» нажмите на выпадающий список
  • Нажмите «+ Создать новые учётные данные»

Шаг 13. Заполните поле Host

Откроется форма создания нового подключения «Supabase account». Нужно ввести адрес вашего локального Supabase.

  • Поле Host — скопируйте URL из окна «Информация о Supabase» на сайте Beget (либо из адресной строки вашего Supabase)
  • Адрес выглядит примерно так: https://вашдомен.beget.app/
  • Вставьте адрес в поле Host

Шаг 14. Получите Service Role API Key из Supabase

Теперь нужно скопировать секретный API-ключ. Переключитесь во вкладку с вашим локальным Supabase.

  • В правом верхнем углу нажмите на иконку пользователя (тёмная иконка человека)
  • В появившемся меню нажмите «Command menu»
  • В открывшемся окне нажмите «Get API keys»
  • Вы увидите два ключа: Anonymous (Public) и Service (Secret)
  • Нажмите «Copy service API key» — ключ скопируется в буфер обмена (без уведомления, окно просто закроется)

 

💡 Совет:  После нажатия «Copy service API key» окно Command menu закроется само — это нормально. Ключ уже в буфере обмена.

 

Шаг 15. Вставьте API-ключ и сохраните подключение

Вернитесь в Нейро42, в форму создания учётных данных Supabase.

  • В поле «Service Role Secret» вставьте скопированный ключ (Ctrl+V / Cmd+V)
  • Нажмите «Сохранить»

✅  Подключение сохранено. Учётные данные Supabase account 3 готовы.

 

Шаг 16. Привяжите новый аккаунт к ноде (для загрузки документов)

Убедитесь, что нода Supabase Vector Store (загрузчик) использует новое подключение.

  • В поле «Учётные данные для подключения» выберите «Supabase account 3» (или ваше новое подключение)
  • Убедитесь, что Operation Mode = «Insert Documents» и Table Name = «documents»

Шаг 17. Привяжите новый аккаунт ко второй ноде Supabase (для AI-агента)

В воркфлоу есть вторая нода Supabase Vector Store — она подключена к AI Agent и используется для поиска по базе.

  • Найдите ноду Supabase Vector Store, которая связана с AI Agent
  • Откройте её настройки
  • В поле «Учётные данные для подключения» выберите тот же «Supabase account 3»

✅  Часть 3 завершена. Обе ноды Supabase подключены к локальной базе данных.

 

 

Часть 4: Тестирование

Шаг 18. Запустите первую ноду и проверьте загрузку данных

Протестируем, что данные действительно попадают в локальную базу данных.

  • Нажмите на ноду Download File (первая нода для скачивания файла с Google Диска)
  • Нажмите «Выполнить шаг»
  • Далее нажмите на ноду Supabase Vector Store (Insert) и также выполните её
  • Убедитесь, что оба шага подсветились зелёным цветом

 

Шаг 19. Проверьте данные в Table Editor Supabase

Переключитесь во вкладку с локальным Supabase и убедитесь, что данные появились.

  • В левом меню нажмите «Table Editor»
  • Нажмите на таблицу documents
  • Вы должны увидеть строки с данными в колонках content, metadata и embedding

✅  Тестирование пройдено. Данные успешно записываются в локальный Supabase.

 

Часть 5: Публикация воркфлоу

Шаг 20. Опубликуйте воркфлоу

Чтобы воркфлоу работал в продакшене (в реальном режиме), его нужно опубликовать.

  • В правом верхнем углу редактора нажмите кнопку «Опубликовать»
  • Если уже была опубликована предыдущая версия — появится диалог «Публикация воркфлоу»
  • Оставьте название версии или введите своё, нажмите «Опубликовать»

✅  Воркфлоу опубликован и работает в продакшене!

 

🎉  Поздравляем! Локальная база данных Supabase подключена и работает!

 

Вы развернули собственный Supabase на виртуальном сервере, создали таблицу векторных данных, подключили её к обеим нодам воркфлоу и убедились, что данные успешно записываются. Теперь ваш AI-агент работает на базе данных, которая находится под вашим полным контролем.

 

5. Что делать, если не работает

Проблема Решение
Кнопка «Создать» недоступна в Beget Проверьте баланс — нужно пополнить счёт перед созданием VPS
Supabase долго устанавливается Это нормально, установка занимает до 10 минут. Подождите и обновите страницу
SQL-скрипт не выполняется (ошибка) Убедитесь, что скопировали весь код из документации (с первой по последнюю строку)
n8n не может сохранить аккаунт Supabase Проверьте Host — в конце URL не должно быть лишнего слэша (/). Service Role Secret должен быть полным
Данные не появляются в Table Editor Проверьте, что воркфлоу запущен и нода Download File + Supabase Vector Store выполнились зелёными
Ошибка «permission denied» в Supabase Убедитесь, что RLS включён (кнопка «Enable RLS» в Table Editor) и вы используете Service Role, а не Anon ключ

 

6. Что делать дальше

Теперь, когда локальная база данных настроена, можно развивать проект:

  • Загрузите несколько разных документов и проверьте, как AI-агент отвечает на вопросы по ним
  • Настройте автоматическую загрузку новых файлов по расписанию через Cron ноду
  • Создайте несколько таблиц для разных тематик (например, documents_hr, documents_sales)
  • Подключите мониторинг — настройте Telegram-уведомление при ошибке загрузки
  • Следующий гайд курса: встраивание чат-бота на сайт (Кейс 6)

 

💡 Совет:  Ваш VPS работает постоянно. Supabase и данные в ней сохраняются между сессиями — перезагружать или переустанавливать её не нужно.

 

Предупреждение о применении иностранного языка

Настоящий мануал включает иностранные термины и выражения, оставленные в оригинале ввиду специфики предметной области и сложности однозначного перевода на русский язык. Данные элементы используются исключительно в целях повышения точности и ясности изложенного материала, поскольку точные аналоги на русском языке либо отсутствуют, либо существенно усложняют восприятие информации пользователями-профессионалами.

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

Данная мера принята для минимизации рисков неправильного толкования ключевых понятий и предотвращения негативных последствий, связанных с некорректностью переводов сложных технических терминов и выражений.

Мы обращаем внимание на тот факт, что наличие иностранного языка в данной документации обусловлено профессиональной необходимостью и соответствует установленным нормам и правилам использования специализированной литературы и документации в Российской Федерации.

Свяжитесь с нами

* нажимая на кнопку, Вы даете согласие на обработку персональных данных