Budibase is an open-source low-code platform that saves engineers 100s of hours building forms, portals, and approval apps, securely.
Get started - we host (Budibase Cloud) · Get started - you host (Docker, K8s, DO) · Docs · Feature request · Report a bug · Support: Discussions
Unlike other platforms, with Budibase you build and ship single page applications. Budibase applications have performance baked in and can be designed responsively, providing users with a great experience.
Budibase is open-source - licensed as GPL v3. This should fill you with confidence that Budibase will always be around. You can also code against Budibase or fork it and make changes as you please, providing a developer-friendly experience.
Budibase pulls data from multiple sources, including MongoDB, CouchDB, PostgreSQL, MariaDB, MySQL, Airtable, S3, DynamoDB, or a REST API. And unlike other platforms, with Budibase you can start from scratch and create business apps with no data sources. Request new datasources.
Budibase comes out of the box with beautifully designed, powerful components which you can use like building blocks to build your UI. We also expose many of your favourite CSS styling options so you can go that extra creative mile. Request new component.
Save time by automating manual processes and workflows. From connecting to webhooks to automating emails, simply tell Budibase what to do and let it work for you. You can easily create new automations for Budibase here or Request new automation.
Budibase integrates with a number of popular tools allowing you to build apps that perfectly fit your stack.
Budibase is made to scale. With Budibase, you can self-host on your own infrastructure and globally manage users, onboarding, SMTP, apps, groups, theming and more. You can also provide users/groups with an app portal and disseminate user management to the group manager.
- Checkout the promo video: https://youtu.be/xoljVpty_Kw
As with anything that we build in Budibase, our new public API is simple to use, flexible, and introduces new extensibility. To summarize, the Budibase API enables:
- Budibase as a backend
- Interoperability
You can learn more about the Budibase API at the following places:
- General documentation: Learn how to get your API key, how to use spec, and how to use Postman
- Interactive API documentation : Learn how to interact with the API
Deploy Budibase using Docker, Kubernetes, and Digital Ocean on your existing infrastructure. Or use Budibase Cloud if you don't need to self-host and would like to get started quickly.
The Budibase documentation lives here.
If you have a question or would like to talk with other Budibase users and join our community, please hop over to Github discussions
Budibase is dedicated to providing everyone a welcoming, diverse, and harassment-free experience. We expect everyone in the Budibase community to abide by our Code of Conduct. Please read it.
From opening a bug report to creating a pull request: every contribution is appreciated and welcomed. If you're planning to implement a new feature or change the API, please create an issue first. This way, we can ensure your work is not in vain. Environment setup instructions are available here.
A good place to start contributing is the First time issues project.
Budibase is a monorepo managed by lerna. Lerna manages the building and publishing of the budibase packages. At a high level, here are the packages that make up Budibase.
-
packages/builder - contains code for the budibase builder client-side svelte application.
-
packages/client - A module that runs in the browser responsible for reading JSON definition and creating living, breathing web apps from it.
-
packages/server - The budibase server. This Koa app is responsible for serving the JS for the builder and budibase apps, as well as providing the API for interaction with the database and file system.
For more information, see CONTRIBUTING.md
Budibase is open-source, licensed as GPL v3. The client and component libraries are licensed as MPL - so the apps you build can be licensed however you like.
If you are having issues between updates of the builder, please use the guide here to clear down your environment.
Thanks goes to these wonderful people (emoji key):
Made with contrib.rocks.
Предварительно нужно установить yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo gpg --dearmor -o /usr/share/keyrings/yarn-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/yarn-archive-keyring.gpg] https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt update && sudo apt install yarn
git clone https://github.com/akrasnov87/budibase cd budibase yarn install sudo npm install -g jest lerna
node ./hosting/scripts/setup.js
yarn
yarn build (или DISABLE_V8_COMPILE_CACHE=1 NODE_OPTIONS=--max-old-space-size=4096 lerna run build --stream
)
Далее выполняем yarn dev
Открываем страницу http://localhost:10000/
Если будет выходить ошибка, что папка не найдена, то нужно перейти в packages/server и открыть файл .env
Добавить туда:
SERVER_TOP_LEVEL_PATH=[Путь до папки с проектом]/budibase/packages/server
Если запускаем контейнер, то файл находится hosting/.env
.
Для очистки кэша выполнить: yarn cache clean
В корне проекта выполнить скрипт node ./crack.js [installation identifier]
git remote add upstream https://github.com/Budibase/budibase.git git pull upstream master
Возможно понадобиться выполнить:
git rm packages/pro git rm packages/account-portal
В корне проекта выполнить:
yarn build:docker:single:undeground
Либо вручную вызвать скрипт ./scripts/build-single-image-undeground.sh
.
Образ хранится на сайте hub.docker.com.
docker run --rm --name=budibase -p 10000:80 -v [your path to data]:/data -e OFFLINE_MODE=true akrasnov87/budibase:latest
Примечание: нужно обязательно передать OFFLINE_MODE
с параметром true
В интерфейса Budibase есть возможность подключить сторонний Open Connect (OIDC) сервис. Для взаимодействия с текущим решением на RPC создан проект [node-oidc-provider] (https://github.com/akrasnov87/node-oidc-provider)
Проект можно запустить выполнив команду docker run -d --rm --env-file=./.env --name node-oidc-provider -p 3000:3000 akrasnov87/node-oidc-provider:0.0.1
Требуется лишь создать файл dev.conf
в папке .conf
и указать туда корректные настройки. По умолчанию авторизованные пользователи создаются с ролью App User
Обязательными для передачи параметрами в Budibase являются:
- Имя
- Фамилия
Устанавливаем Budibase CLI
Выполнил budi hosting --init
в корне проект. Был создан файл .env
Взял от туда:
# Use the main port in the builder for your self hosting URL, e.g. localhost:10000 MAIN_PORT=10000 # This section contains all secrets pertaining to the system API_ENCRYPTION_KEY=DVc9rHS9B2CnAQVtH4OJuMRzC9Wxr7tS JWT_SECRET=jDoVHyTGC72pM7adI2eshjMLHO5X5B8y MINIO_ACCESS_KEY=R71VBy97UZGrPr6mZoYFgUP09Fcg3UZY MINIO_SECRET_KEY=YrrUtUuFGg09MNrcQchtjpUER4ps8GaC REDIS_PASSWORD=Th2LJU7lO3KmAi9LbUTh34vy3y37nhoi INTERNAL_API_KEY=85l1kIWHVtg2493YDLcXoapKTrTHomNT COUCH_DB_USER=admin COUCH_DB_PASSWORD=IdbIWtAHLXcYiDIxesjocnPobWFgmhEs # This section contains variables that do not need to be altered under normal circumstances BUDIBASE_ENVIRONMENT=PRODUCTION OFFLINE_MODE=true
И переименовал файл в .env.single
Запустил контейнер docker run --rm --name=budibase -p 10000:80 --env-file ./.env.single akrasnov87/budibase:latest
Для архивации использовал:
# https://docs.budibase.com/docs/server-migration COUCH_DB_URL=http://admin:admin@localhost:10000/db/ MINIO_URL=http://localhost:10000 MINIO_ACCESS_KEY=R71VBy97UZGrPr6mZoYFgUP09Fcg3UZY MINIO_SECRET_KEY=YrrUtUuFGg09MNrcQchtjpUER4ps8GaC MAIN_PORT=10000
В итоге backups создаётся по команде budi backups --export --env .env.backups
Восстановление выполняется при помощи
budi backups --import backup-2024-07-17T13:29:47.368Z.tar.gz --env ./.env.backups
budi hosting --start Starting services, this may take a moment - first time this may take a few minutes to download images. Error - Failed to start - logs written to file: docker-error.log
Нужно установить sudo apt install docker-compose
budi hosting --start
http://localhost:4005/_utils/#login