https://github.com/supertoolmake/supertoolmake
Open source and lightweight app builder platform.
https://github.com/supertoolmake/supertoolmake
admin-dashboard app-builder crud crud-app form-builder gui internal-tools low-code no-code open-source rest-api self-hosted sql-interface
Last synced: 8 days ago
JSON representation
Open source and lightweight app builder platform.
- Host: GitHub
- URL: https://github.com/supertoolmake/supertoolmake
- Owner: SuperToolMake
- License: other
- Created: 2025-12-30T20:16:16.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-05-29T12:01:42.000Z (14 days ago)
- Last Synced: 2026-05-29T12:27:00.903Z (14 days ago)
- Topics: admin-dashboard, app-builder, crud, crud-app, form-builder, gui, internal-tools, low-code, no-code, open-source, rest-api, self-hosted, sql-interface
- Language: TypeScript
- Homepage:
- Size: 65.5 MB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
SuperToolMake
A lightweight fork of Budibase
SuperToolMake is an open source low-code platform for quickly building forms and web apps, with built-in RBAC.
---
Connect your SQL tables
Visualise your data tables, write SQL queries, and control data access to your end-users.
*PostgreSQL*, *MySQL* and *SQL Server* supported.
---
Connect to APIs
Query non-SQL datasources, and make requests to external REST APIs.
---
App and Form builder
Quickly build end-user forms, with the flexibility to add more advanced features if needed.
Integrates with any of your SQL tables or APIs, including controlled access with customizable RBAC.
---
Why SuperToolMake?
Other low-code platforms such as Appsmith and Tooljet recommend a minimum of 8GB of RAM when self-hosting.
Budibase is better, but still recommends 4GB.
SuperToolMake considers a lightweight and modular approach, focusing on the core app builder and data interface experience, with the option to connect to external workflow systems as needed.
**SuperToolMake has a total memory footprint under 0.5GB, and comfortably runs on a 1GB box.**
Currently I am running an app on *Scaleway Stardust*, which costs ~ €3.50/month: https://app.gullinfo.org/app/larus
I am also using [Supabase](https://supabase.com/) as my Postgres provider.
---
Running via Docker
A single image container is provided under Packages.
Pull down the latest image.
If you are not using _Docker Desktop_, you can use [Colima](https://github.com/abiosoft/colima).
Run `colima start` to spin up the docker runtime.
Run the container with the command:
```
docker run -d -t \
--name=supertoolmake \
-p 10000:80 \
-v /local/path/data:/data \
-v /local/path/data:/opt/couchdb/data \
--restart unless-stopped \
ghcr.io/supertoolmake/supertoolmake:latest
```
### Running via Docker Swarm
For production deployments requiring high availability and zero-downtime updates. This setup utilizes Swarm's built-in Routing Mesh to manage traffic and rolling updates automatically.
#### Prerequisites
Ensure Docker Engine is installed and Swarm mode is initialized on your host. You can initialize a single-node swarm (which you can expand later) by running `docker swarm init`.
#### Creating the service
Instead of docker run, use docker service create. Note that named volumes are used here for persistent data; ensure the volume my-vol exists or let Docker create it automatically. The following command sets up the service with the necessary port mapping and volume mounts:
```
docker service create --name supertoolmake --replicas 1 --publish 10000:80 --mount type=volume,source=my-vol,target=/data --mount type=volume,source=my-vol,target=/opt/couchdb/data --update-delay 10s ghcr.io/supertoolmake/supertoolmake:latest
```
#### Performing rolling updates
To update to a new version without downtime, simply run:
```
docker service update --update-delay 45s --force --image ghcr.io/supertoolmake/supertoolmake:latest supertoolmake
```
Swarm will automatically start the new container, verify it is healthy, and then stop the old one.
#### Managing environment variables
To pass environment variables, use the --env flag during creation (e.g., --env MY_VAR=value). To update environment variables later, you must re-run `docker service update --env ...`, which triggers a rolling restart of the service.
---
Local development
Ensure your IDE has permissions for mounting the volumes defined in docker-compose.dev.yaml.
For example, in macOS I had to do this via `Privacy & Security > Files & Folders`
Starting
`yarn` - installs the dependencies
`yarn dev` - runs SuperToolMake locally
You will know yarn dev has worked correctly when there are no build errors of course, but also you will see the following containers running:
- super-tool-nginx-dev
- super-tool-couchdb3-dev
- super-tool-redis-dev
- super-tool-minio-dev
Once running, visit [localhost:10000/builder](http://localhost:10000/builder)
You should be prompted to create an admin: