Интеграция с NocoDB

Краткий вариант интеграции

Для полноценной настройки интеграции нам понадобится пройти всего несколько этапов:

  • Регистрация VPS
  • Установка и настройка NocoDB
  • Настройка таблицы
  • Получение токена для запросов
  • Хранение токена
  • Настройка команды

Регистрация VPS:

Регистрируемся на сайте.

Открываем раздел «Облако» и нажимаем «Создать виртуальный сервер»

Интеграция с NocoDB, image #1

Далее выбираем нужную стоимость справа и систему, рекомендуется Ubuntu 24.04 и жмем кнопку «Создать VPS»

Интеграция с NocoDB, image #2

После создания вам на емейл придет письмо с логином, паролем

Интеграция с NocoDB, image #3

VPS создан, идем дальше.

Установка и настройка NocoDB

Для подключения к своему VPS качаем программу Putty и устанавливаем.

После запуска указываем IP адрес и подключаемся.

Интеграция с NocoDB, image #4

Заходим на VPS и пошагово запускаем команды копированием (копировать и вставить, ничего сложного).

✅ Шаг 1: Подготовка системы

sudo apt update && sudo apt upgrade -y
sudo apt install curl wget unzip git -y

✅ Шаг 2: Установка Node.js (LTS)

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
node -v
npm -v

✅ Шаг 3: Установка Docker и Docker Compose

sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
sudo systemctl start docker
docker --version
docker-compose --version

✅ Шаг 4: Установка NocoDB через Docker

mkdir ~/nocodb && cd ~/nocodb
nano docker-compose.yml

Содержимое docker-compose.yml (просто вставить)

version: '3'
services:
  nocodb:
    image: nocodb/nocodb:latest
    container_name: nocodb
    ports:
      - "8080:8080"
    volumes:
      - ./nc_data:/usr/app/data
    restart: unless-stopped

Если вдруг после сохранения выдало ошибку при копировании из статьи, то скачайте файл отсюда и вставьте в конфиг.
После вставки нажимаем Ctrl+X, Y Enter и идем дальше.

Запуск контейнера

docker-compose up -d

✅ Шаг 5: Установка и настройка Nginx с Basic Auth

sudo apt install nginx apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd admin
sudo nano /etc/nginx/sites-available/nocodb

Конфигурация Nginx (вставить заменив yourdomain.com на ваш IP )

server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}

Активация конфигурации

sudo ln -s /etc/nginx/sites-available/nocodb /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

✅ Шаг 6: Настройка безопасности в NocoDB
1. Перейдите в админку: http://<ваш-IP>:8080
2. Создайте проект
3. Перейдите в Team & Settings → Users → Setting
4. Поставьте галку Allow signup only using invite url
5. Перейдите в Team & Settings → Account → Tokens и создайте токен

Там все просто. Если не получится посмотрите видео выше.

Настройка безопасности NocoDB

Для генерации пароля в почте на примере Gmail воспользуйтесь этой ссылкой

Настройка таблицы

Заходим в NocoDB
Нажимаем «Create Table»
Настраиваем таблицу
Настраиваем нужные ячейки:

Для редактирования кликаем по ячейке и меняем название. Например: Имя: вместо Title

Интеграция с NocoDB, image #5

Кратко пробежимся по типам полей:

Single line text - однострочный текст.
Long text - длинный текст для абзацев.
Date - для записи даты
Phone number - для номера телефона
Email - для записи электронной почты
Url - для хранения ссылок
Все остальные типы интуитивно понятны. Выбрав тип не забудьте нажать &
quot;Save"

Пример ссылки: http://217.114.10.49:8080/dashboard/#/n/cpr1dq9d4s71qx72/m904djlvv90ltgp

и копируем адрес для запросов с заменой: Пример ссылка:

 http://217.114.10.49:8080/dashboard/#/n/cpr1dq9d4s71qx72/m904djlvv90ltgp

Копируем ее в блок в запросом и меняем

/dashboard/#/n/c

на

/api/v1/db/data/v1/

чтобы получилось примерно следующее:

 http://217.114.10.49:8080/api/v1/db/data/v1/pr1dq9d4s71qx72/m904djlvv90ltgp

Все просто.

Создание ресурса

Для того чтобы хранить токен мы в ресурсы добавим его значение. Переходим в базу данных вашего сообщества — раздел Ресурсы и создаем там новый ресурс с названием: nocodb_key(важно использовать именно такое название для удобства дальнейшей настройки).

Чтобы при запуске команды достать поле «содержимое» этого ресурса, есть два способа (рекомендую первый):

  • Точно скопировать название ресурса (nocodb_key).
    В команде написать: {get}nocodb_key|name|body{/get}
  • Точно скопировать номер ресурса (XXXXX).
    В команде написать: {get}XXXXX{/get}

Важно! Если Вы хотите хранить ресурс в одном сообществе, а использовать в другом, то необязательно использовать копирование ресурса, достаточно указать 4 параметром ID сообщества в котором хранится ресурс.

Например:

  • В команде написать: {get}nocodb_key|name|body|183601501{/get}

Токен мы будем записывать в содержимое

Пример:

8hGV_CEi6fCIP2m-IvXp63ot96wWPY8E1cl8zp1r

Пример итогового результата:

Хранение токена в сервисе позволяет запускать запись, редактирование и удаление из вашей таблицы. будьте внимательны.Хранение токена и доступ в автопилот -это целиком ваша ответственность)
Хранение токена в сервисе позволяет запускать запись, редактирование и удаление из вашей таблицы. будьте внимательны.
Хранение токена и доступ в автопилот -это целиком ваша ответственность)

Настройка команды в Автопилоте

Событие:

1) Событие «Написал сообщение» с любым текстом, нужным вам. В примере, кактус.

Пример события
Пример события

Действия:

1) Для отправки данных в таблицу добавляем действие «Отправить GET/POST запрос» на адрес скрипта (адрес у вас будет свой) и параметрами (в примере я их передаю переменными):

Пример запроса
Пример запроса

Параметры запроса:

  • Имя — название ячейки для записи.
  • Фамилия — название ячейки для записи.
  • flag — название ячейки для с галочкой (передается (bool)1 либо 0 )

Заголовок запроса:

  • xc-token {get}524325{/get}

Для получения ответа от скрипта можно себе вывести переменную %response%, которая будет содержать в себе эти данные.
Я очень рекомендую выводить себе, как сотруднику %response%, каждый раз, когда идет работа с таблицей.

Пример %response%:

{"Id":5,"CreatedAt":"2025-06-25 14:57:17+00:00","UpdatedAt":null,"nc_order":5,"Title":null,"Имя":"Андрей","Фамилия":"Горячих","flag":1}

Мы здесь видим Id- если значение больше 0, то данные записаны корректно в ячейку Можно сохранять его в поле профиля игрока и использовать в других командах.

2) Для того, чтобы сохранить айди ячейки задаем временную переменную %noco_id% cо значением:

%response.Id%
Сохраняем ID ячейки
Сохраняем ID ячейки

3) Дальнейшие действия выполняем, только если код сервера NocoDB %http_code% со значением 200, т.е. ваш сервер отработал корректно. Добавляем действие «Прервать / продолжить выполнение команды», с переключателем Продолженоесли числовая переменная %http_code%равна 200

Интеграция с NocoDB, image #10

4) Для редактирования записываем действием «Изменить поле игрока» с названием (уникальным) в примере %club_id%_nocode со значением:

%noco_id%
Интеграция с NocoDB, image #11

Все, команды для редактирования делаются аналогично.

Ниже пример блоков для редактирования и удаления.

Интеграция с NocoDB, image #12

Как мы видим, через функцию {fields} достаем id ячейки и через действие: «Отправить Post /get- запрос» методом PATCH на адрес:

http://217.114.0.74:8080/api/v1/db/data/v1/pgk3stnzmos69i8/ml28juhjq228tbm/%noco_id%

отправляем запрос на редактирование.

Аналогично на удаление, через действие: «Отправить Post /get- запрос» методом DELETE на адрес:

http://217.114.0.74:8080/api/v1/db/data/v1/pgk3stnzmos69i8/ml28juhjq228tbm/%noco_id%

отправляем запрос на удаление.

Интеграция с NocoDB, image #13

Все!
Хотя нет, если вы хотите больше мудрости от меня, то можете вступить в мой клуб.

Творческих взлётов и успешного внедрения.

Вернуться к списку инструкций
66 views·2 shares