Airtable — классный инструмент, заслуживший признание у бизнеса по всему миру. Возможность работать с базами данных в удобном no-code интерфейсе с разными представлениями и типами данных не нова, но если в Spreadsheets (где таблица даже не является базой) данные приходилось конвертировать плагинами и костылями, то в Airtable рабочий процесс такой же плавный и удобный, как в Notion при работе с текстом. Но есть один нюанс: Airtable работает по модели сервиса с ограниченным бесплатным функционалом, а код, конечно, закрыт. К счастью, опенсорс-сообщество равно или поздно создаёт открытые альтернативы всем популярным сервисам, и благодаря совместной работе двух десятков разработчиков появился NocoDB.
Зачем вообще париться?
Давайте взлянем на тарифные планы Airtable:
Очевидно, мелкий проект или бизнес может вписаться в рамки бесплатного плана, но отсутствие приватных вьюх и плагинов в бесплатной версии огорчает. А по мере роста базы вы рано или поздно упрётесь в потолок и будете вынуждены перейти на платный план. Глубоко интегрироваться и видоизменять сам продукт тоже не получится, потому что он лежит на чужих серверах. При этом опенсорсная версия открыта, доступна для селф-хостинга и, конечно, работает из коробки целиком, включая про-фичи из 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!
Заключение
Не всем опенсорсным проектам удаётся приблизиться по качеству или даже функционалу к своим проприетарным аналогам. NocoDB это удалось, и проект не стоит на месте. Количество контрибьюторов и сообщество в дискорде растут, звёзды на гитхабе растут с огромной скоростью (уже 8k!) и число пулл-реквестов выросло на четверть прямо во время написания этой статьи. Попробуйте NocoDB, это в конце концов, бесплатно.
Ссылки:
На правах рекламы
VDSina предлагает виртуальные серверы с посуточной оплатой, возможностью установить любую операционную систему, каждый сервер подключён к интернет-каналу в 500 Мегабит и бесплатно защищён от DDoS-атак!
Присоединяйтесь к нашему чату в Telegram.
Groosha
Некоторое время слежу за другой альтернативой — Baserow: https://baserow.io/pricing
Возможно, не такая продвинутая, как NocoDB, но тоже стоит внимания.
Написана на Python + Vue: https://gitlab.com/bramw/baserow