NocoDB, open-source аналог Airtable

zjet4atxqxwklmt0lnr0gnybhp0.jpeg

Airtable — классный инструмент, заслуживший признание у бизнеса по всему миру. Возможность работать с базами данных в удобном no-code интерфейсе с разными представлениями и типами данных не нова, но если в Spreadsheets (где таблица даже не является базой) данные приходилось конвертировать плагинами и костылями, то в Airtable рабочий процесс такой же плавный и удобный, как в Notion при работе с текстом. Но есть один нюанс: Airtable работает по модели сервиса с ограниченным бесплатным функционалом, а код, конечно, закрыт. К счастью, опенсорс-сообщество равно или поздно создаёт открытые альтернативы всем популярным сервисам, и благодаря совместной работе двух десятков разработчиков появился NocoDB.

Зачем вообще париться?


Давайте взлянем на тарифные планы Airtable:

lgcfktxx_m5ehafusdz_qoorq5g.png

Очевидно, мелкий проект или бизнес может вписаться в рамки бесплатного плана, но отсутствие приватных вьюх и плагинов в бесплатной версии огорчает. А по мере роста базы вы рано или поздно упрётесь в потолок и будете вынуждены перейти на платный план. Глубоко интегрироваться и видоизменять сам продукт тоже не получится, потому что он лежит на чужих серверах. При этом опенсорсная версия открыта, доступна для селф-хостинга и, конечно, работает из коробки целиком, включая про-фичи из Airtable.

Функционал


Как и любая (к сожалению) опенсорсная альтернатива сервису, NocoDB переняла у старшего брата далеко не все функции. Тем не менее, все основные фичи реализованы и пользователь, знакомый с Airtable, будет комфортно чувствовать себя и здесь, ведь проект старается сохранять максимальную идентичность оригиналу, вплоть до интерфейса. NocoDB умеет:
  • Хранить разные типы данных в ячейках (даже картинки!)
  • Интуитивно искать, фильтровать, сортировать столбцы
  • Генерировать вьюхи как в Airtable: сетка, галерея, канбан, диаграммы Ганта, формы
  • Разграничивать по ролям и аккаунтам доступ к бд, таблицам/столбцам/ячейкам и вьюхам
  • Работать с плагинами для интеграций и отображения (есть готовые интеграции с мессенджерами, рассылками электропочты и смсок)
  • Использовать OAuth и JWT авторизацию
  • Широко работать с API (REST, GraphQL) — от полностью headless упраления до интеграций с Zapier

Конечно, невозможно коротко описать все фичи настолько большого проекта, лучше просто попробовать самому.

Установка


NocoDB доступна в виде докер-образа и шаблона для Heroku, также проект собирается вручную на node.

Heroku


Самый простой и быстрый способ получить рабочий инстанс.
Достаточно перейти по ссылке, выбрать название и нажать Deploy app.

Docker


Если самого докера на машине нет, установим его:
  sudo apt-get update

  sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

  echo \
    "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  sudo apt-get update
  sudo apt-get install docker-ce docker-ce-cli containerd.io

Затем установим и запустим образ:

  docker run -p 8080:8080 nocodb/nocodb

GUI будет доступен по адресу http://localhost:8080/dashboard

npm


Если нет Node (и вдруг если у вас почему-то нет git), ставим:
  curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
  sudo apt-get install -y nodejs git

  node -v

Устанавливаем и запускаем сборку:

  git clone https://github.com/nocodb/nocodb-seed
  cd nocodb-seed

  npm install
  npm start

Добро пожаловать в NocoDB!

ob4qlpsydfi5vuihn_q48v_ciuu.png

Заключение


Не всем опенсорсным проектам удаётся приблизиться по качеству или даже функционалу к своим проприетарным аналогам. NocoDB это удалось, и проект не стоит на месте. Количество контрибьюторов и сообщество в дискорде растут, звёзды на гитхабе растут с огромной скоростью (уже 8k!) и число пулл-реквестов выросло на четверть прямо во время написания этой статьи. Попробуйте NocoDB, это в конце концов, бесплатно.

Ссылки:


На правах рекламы


VDSina предлагает виртуальные серверы с посуточной оплатой, возможностью установить любую операционную систему, каждый сервер подключён к интернет-каналу в 500 Мегабит и бесплатно защищён от DDoS-атак!

Присоединяйтесь к нашему чату в Telegram.

8p3vz47nluspfyc0axlkx88gdua.png

© Habrahabr.ru