MAATRIX / Блог / Budibase на Ubuntu 24.04: пошаговая установка

Budibase на Ubuntu 24.04: пошаговая установка

MAATRIX

Если команда собирает внутренние формы и мини-приложения в Excel и Google Таблицах, а потом мучается с их синхронизацией — Budibase закрывает этот разрыв: low-code платформа, которая строит рабочие CRUD-приложения поверх вашей базы данных за часы, а не недели разработки. В отличие от облачной версии, self-hosted установка на своём VPS отдаёт вам полный контроль над данными и не требует платной подписки за каждого пользователя. Ниже — рабочий процесс установки на чистый Ubuntu 24.04 через официальный Docker-скрипт, с доменом, SSL и первым приложением.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Что такое Budibase и когда он оправдан

Budibase — open-source low-code платформа для сборки внутренних приложений: панелей администратора, форм для сбора заявок, простых CRM, инструментов учёта. Собирается на конструкторе интерфейсов (drag-and-drop) поверх источника данных — своей PostgreSQL/MySQL/MongoDB, внутренней Budibase-базы на CouchDB или REST API стороннего сервиса.

Практическая ниша: когда задача не тянет на полноценную разработку (нет бюджета и времени на фронтенд+бэкенд с нуля), но и типовой SaaS-конструктор не устраивает — либо из-за цены за пользователя, либо из-за того, что данные должны оставаться на вашей инфраструктуре. Типичные кейсы — внутренний трекер заявок, форма для отдела продаж поверх CRM-базы, панель для склада, простой helpdesk.

Стоит понимать ограничения честно: Budibase — не замена полноценной разработке под сложную бизнес-логику, и по производительности рендеринга UI на больших таблицах (десятки тысяч строк без пагинации) он уступает написанному вручную фронтенду. Если нужна именно табличная база данных с гибким интерфейсом без построения приложений вокруг неё — присмотритесь к NocoDB, это другой инструмент под смежную задачу.

Требования к серверу и подготовка Ubuntu 24.04

Полный стек Budibase поднимает несколько контейнеров: сам сервер приложения, воркер, CouchDB для хранения данных приложений, MinIO для файлов и nginx-прокси перед всем этим. На минимальном тарифе это ощутимая нагрузка на RAM.

Ориентировочные требования (реальная цифра зависит от числа приложений и пользователей):

РесурсМинимумКомфортно
CPU2 vCPU2-4 vCPU
RAM2 ГБ4 ГБ
Диск20 ГБ SSD40+ ГБ SSD
ОСUbuntu 24.04 LTSUbuntu 24.04 LTS

На 2 ГБ RAM стек поднимется и будет работать, но под несколькими одновременными пользователями и десятком приложений начнёт подтормаживать CouchDB — если бюджет позволяет, берите тариф с 4 ГБ сразу.

Перед установкой обновите систему и создайте отдельного пользователя, если ещё не сделали:

apt update && apt upgrade -y
adduser deploy
usermod -aG sudo deploy

Если сервер только что арендован, начните с базовых шагов по SSH-ключам и первичной защите системы — их лучше закрыть до установки любого продакшен-сервиса.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать сервер

Устанавливаем Docker и Docker Compose

Budibase официально распространяется как Docker Compose стек, поэтому Docker — обязательное условие. Если Docker ещё не стоит:

curl -fsSL https://get.docker.com | sh
usermod -aG docker $USER

После этого перелогиньтесь (или выполните newgrp docker), чтобы группа применилась без выхода из SSH-сессии. Проверьте, что всё работает:

docker --version
docker compose version

Если хотите более осознанной установки без стороннего скрипта, с разбором каждого шага и настройкой автозапуска демона — есть отдельная статья про установку Docker на Ubuntu 24.04.

Заодно откройте нужные порты в фаерволе. Если используете UFW:

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Разворачиваем Budibase официальным installer-скриптом

Budibase предоставляет собственный установочный скрипт, который скачивает docker-compose.yaml, генерирует .env с ключами шифрования и поднимает весь стек. Это самый предсказуемый путь для первой установки:

mkdir -p /opt/budibase && cd /opt/budibase
curl -fsSL https://get.budibase.com | bash

Скрипт задаст несколько вопросов в интерактивном режиме: порт, на котором будет слушать прокси-контейнер (по умолчанию 10000), нужен ли предустановленный SSL от Let's Encrypt на этом этапе (для продакшена лучше отказаться и настроить SSL отдельным реверс-прокси — ниже объясню почему), и путь для хранения данных.

После завершения скрипт сам поднимает стек через docker compose up -d. Проверьте состояние контейнеров:

cd /opt/budibase
docker compose ps

Ожидаемый список сервисов — app-service, worker-service, couchdb-service, minio-service, proxy-serviceredis-service в некоторых версиях). Если какой-то контейнер в статусе Restarting, посмотрите логи:

docker compose logs app-service --tail=50

Частая причина рестарта на слабых тарифах — нехватка памяти для CouchDB на старте; если сервер укладывается в 2 ГБ впритык, временно добавьте своп на 2 ГБ, пока не убедитесь, что стек стабилен.

Критически важный момент: скрипт генерирует файл .env в /opt/budibase с переменной BUDIBASE_ENCRYPTION_KEY — этим ключом шифруются секреты внутри приложений (API-токены сторонних сервисов, пароли к внешним базам). Потеря этого файла без бэкапа означает потерю доступа к зашифрованным данным при восстановлении на другом сервере. Скопируйте .env в защищённое хранилище сразу после установки, до того как начнёте что-то настраивать внутри Budibase.

Домен, реверс-прокси и SSL

Из коробки Budibase слушает HTTP на выбранном порту (по умолчанию 10000) без TLS. Для рабочей установки — особенно если планируете пускать внешних пользователей заполнять формы — нужен домен с HTTPS.

Проще всего поставить перед Budibase отдельный реверс-прокси (nginx или Caddy), который будет терминировать SSL и проксировать запросы на локальный порт стека. Минимальный конфиг для nginx:

server {
    listen 80;
    server_name budibase.example.com;

    location / {
        proxy_pass http://127.0.0.1:10000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Заголовки Upgrade/Connection обязательны — Budibase использует WebSocket-соединения для live-обновлений в конструкторе, без них редактор приложений будет работать рывками или вовсе не сохранять изменения в реальном времени. Общий разбор настройки nginx как прокси перед контейнерными сервисами — в статье nginx как реверс-прокси на Ubuntu 24.04.

Если не хочется вручную возиться с certbot, Caddy получает сертификат Let's Encrypt автоматически при первом запуске — конфиг короче в разы, и это разумная альтернатива nginx для одного домена под один сервис.

Не забудьте прописать A-запись домена на IP сервера в DNS панели регистратора до выпуска сертификата — иначе валидация Let's Encrypt не пройдёт.

Первое приложение и подключение к своей базе данных

После входа по адресу https://budibase.example.com система попросит создать администраторский аккаунт — это первый пользователь workspace, у него полные права.

Дальше есть два пути хранения данных приложения:

  • Внутренняя база Budibase — таблицы создаются прямо в конструкторе, хранятся в CouchDB стека. Подходит для небольших приложений без внешних систем.
  • Внешний источник — подключение к вашей уже существующей PostgreSQL, MySQL, MongoDB или REST API. Для этого в разделе Data Sources выбирается тип базы и вводится строка подключения.

Если строите приложение поверх существующей продакшен-базы, подключайте её через отдельного пользователя БД с правами только на нужные таблицы — не через основной административный аккаунт. Это ограничивает ущерб, если ошибка в логике приложения (или неаккуратный доступ пользователя Budibase) затронет данные. Если PostgreSQL для этой задачи ещё не развёрнут, есть отдельная статья про установку PostgreSQL на VPS.

Само приложение собирается из готовых компонентов: таблица с данными, форма создания/редактирования записи, кнопки действий с привязкой к автоматизациям (Automations — встроенный low-code workflow-движок Budibase, отдельная сущность от n8n, но по духу похожая: триггер → цепочка шагов). Для типовой формы заявки с последующим уведомлением в Telegram или email на это уходит от получаса до пары часов, в зависимости от сложности бизнес-логики.

Обновление стека до новой версии выполняется тем же установочным скриптом:

cd /opt/budibase
curl -fsSL https://get.budibase.com | bash

Скрипт подхватит существующий .env и обновит образы без потери данных, но перед обновлением на проде всё равно сделайте бэкап тома с данными — CouchDB и MinIO хранят состояние в Docker volumes, и откатиться при неудачном обновлении проще из снапшота, чем разбирать миграции вручную. Подход к регулярным бэкапам описан в статье про автоматические бэкапы на Ubuntu 24.04.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать сервер

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

Частые вопросы

Budibase бесплатен для self-hosted версии?

Да, community-версия под лицензией с открытым кодом бесплатна без ограничений по числу пользователей — платные тарифы у разработчика касаются только их облачного SaaS и дополнительных корпоративных функций (SSO, аудит-логи).

Можно ли обойтись без Docker и поставить Budibase напрямую на систему?

Официально поддерживается только Docker-установка — стек завязан на несколько связанных сервисов (CouchDB, MinIO, воркер), и разворачивать их вручную вне контейнеров не имеет практического смысла.

Сколько занимает место установка на диске?

Сами образы — около 2-3 ГБ, дальше рост зависит от объёма данных в приложениях и файлов в MinIO; для старта закладывайте минимум 20 ГБ с запасом на бэкапы.

Что делать, если после установки не открывается порт 10000 снаружи?

Проверьте, что UFW разрешает нужный порт (или 80/443, если уже настроен реверс-прокси), и что docker compose ps показывает proxy-service в статусе Up — без него запросы не доходят до приложения даже при открытом порте.

Можно ли мигрировать приложения Budibase на другой сервер?

Да, через встроенный экспорт/импорт приложений в интерфейсе, либо переносом Docker volumes целиком вместе с файлом .env — второй способ переносит весь workspace разом, включая пользователей и зашифрованные секреты.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →