Skip to content

Low code platform for building business apps and workflows in minutes. Supports PostgreSQL, MySQL, MSSQL, MongoDB, Rest API, Docker, K8s, and more 🚀

License

Notifications You must be signed in to change notification settings

akrasnov87/budibase

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Budibase

Budibase

The low code platform you'll enjoy using

Budibase is an open-source low-code platform that saves engineers 100s of hours building forms, portals, and approval apps, securely.

🤖 🎨 🚀


Budibase design ui

GitHub all releases GitHub release (latest by date) Follow @budibase Code of conduct



✨ Features

Build and ship real software

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.

Open source and extensible

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.

Load data or start from scratch

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 data



Design and build apps with powerful pre-made components

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.

Budibase design



Automate processes, integrate with other tools and connect to webhooks

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.

Integrate with your favorite tools

Budibase integrates with a number of popular tools allowing you to build apps that perfectly fit your stack.

Budibase integrations



Deploy with confidence and security

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.




Budibase Public API

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

Docs

You can learn more about the Budibase API at the following places:



🏁 Get started

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.



🎓 Learning Budibase

The Budibase documentation lives here.



💬 Community

If you have a question or would like to talk with other Budibase users and join our community, please hop over to Github discussions




❗ Code of conduct

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.



🙌 Contributing to Budibase

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.

Not Sure Where to Start?

A good place to start contributing is the First time issues project.

How the repository is organized

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



📝 License

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.



⭐ Stargazers over time

Stargazers over time

If you are having issues between updates of the builder, please use the guide here to clear down your environment.



Contributors ✨

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.

Старт контейнера single-undeground

docker run --rm --name=budibase -p 10000:80 -v [your path to data]:/data -e OFFLINE_MODE=true akrasnov87/budibase:latest

Примечание: нужно обязательно передать OFFLINE_MODE с параметром true

Подключение OIDC провайдера

В интерфейса 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 являются:

  • email
  • Имя
  • Фамилия

Настройка backups

Устанавливаем 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

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

Budibase CLI

budi hosting --start

Подключение к couch db

http://localhost:4005/_utils/#login

About

Low code platform for building business apps and workflows in minutes. Supports PostgreSQL, MySQL, MSSQL, MongoDB, Rest API, Docker, K8s, and more 🚀

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 46.3%
  • Svelte 38.5%
  • JavaScript 13.9%
  • Shell 0.7%
  • Handlebars 0.2%
  • Dockerfile 0.2%
  • Other 0.2%