Budibase
Build, automate and self-host internal tools in minutes
Budibase is an open-source low-code platform, helping developers and IT professionals build, automate, and ship internal tools on their own infrastructure in minutes.
π€ π¨ π
Get started Β· Docs Β· Feature request Β· Report a bug Β· Support: Discussions
β¨ 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 your 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 in data from multiple sources, including MongoDB, CouchDB, PostgreSQL, 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 data sources.
-
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 a lot of your favourite CSS styling options so you can go that extra creative mile. Request new component.
-
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.
-
Admin paradise. 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.
π Get started
Currently there are two ways to get started with Budibase; Digital Ocean, and Docker.
Get started with Digital Ocean
The easiest and quickest way to get started, is to use Digital Ocean: 1-click Digital Ocean deploy
![digital ocean badge](https://user-images.githubusercontent.com/552074/87779219-5c3b7600-c824-11ea-9898-981a8ba94f6c.png)
Get started with Docker
To get started, you must have docker and docker compose installed on your machine. Once you have Docker installed, the process takes 5 minutes, with these four steps:
- Install the Budibase CLI.
$ npm i -g @budibase/cli
- Setup Budibase (select where to store Budibase, and the port to run it on)
budi hosting --init
- Run Budibase
budi hosting --start
- Create your admin user
Enter the email and password for the new admin user.
Done! You are now ready to build powerful internal tools in minutes. For additional information on how to get started and learn Budibase, visit our docs.
π 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 a welcoming, diverse, and harrassment-free experience for everyone. 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.
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 that you build can be licensed however you like.
β 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):
This project follows the all-contributors specification. Contributions of any kind welcome!