Analytics cookies only (Google Analytics, PostHog). No ad networks, no cross-site tracking. See our privacy policy.
Self-host Budibase
updated Oct 2026deployed by usprices checked · Jul 2026Install verified on Ubuntu 26.04 · Oct 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →
A low-code platform for building internal apps, forms and admin panels on your own data, with an internal database plus connections to external SQL and REST sources, and a builder that publishes apps to end users. The monorepo is GPL-3.0 overall, the paid packages/pro package is under the Business Source License, and the packages that ship inside built apps are MPL-2.0; the all-in-one Docker image bundles CouchDB, Redis, MinIO and nginx.
Runs on a VPS from $82.59/mo (Hetzner Cloud CPX42, 16 GB RAM) · prices checked Sep 2026
Our recommendation
Pick Budibase when you want internal apps, forms and admin panels built in a browser over your own data, with an internal database for tables you own plus connections to external SQL and REST sources, and you want it in one container. It is a TypeScript and Svelte monorepo: GPL-3.0 overall, MPL-2.0 for the packages that ship inside the apps you build (so those apps need not be open source), and the Business Source License for the paid `packages/pro` code. The all-in-one `budibase/budibase` image runs CouchDB, Redis, MinIO and nginx internally, so the install is one service, one `/data` volume and a handful of secrets. Upstream's Docker page recommends 2 cores and 6 GB of RAM for most use cases; that documented figure is our floor. Among the catalog's low-code internal-tool builders, Budibase is the one whose own data store is central (CouchDB, with Structured Query Server answering SQL queries over it); Appsmith and ToolJet assume your data lives elsewhere, and NocoBase is the plugin-driven data-model builder.
What you need
Any VPS with at least 6144 MB of RAM
A domain you control — most self-hosted setups need HTTPS in front of them
Budibase's Docker page, licence files and update guide point to these before you commit:
non-negotiableLicensing is per package. The root LICENSE says to treat Budibase as GPL-3.0 overall; packages/pro is under the Business Source License, which allows production use unless the code is modified to defeat licence-key checks or feature gating (European public-sector bodies excepted) and converts to GPL-3.0 four years after each release; and the bundled Structured Query Server is binary-only under a separate customer licence from The Neighbourhoodie Software GmbH.
non-negotiableIf you do not set JWT_SECRET, COUCHDB_*, MINIO_*, REDIS_PASSWORD and INTERNAL_API_KEY, the container pre-seeds them as UUIDs in a .env inside the /data volume, and changing them later means editing that file; changing JWT_SECRET invalidates every session. Our snippet generates them up front. All state is the ./data directory, and nothing in the docs backs it up for you.
non-negotiableUpstream's update guide for the single image is stop, remove, docker pull budibase/budibase with no tag, and re-run; pin a version as our snippet does and move the pin deliberately. The image's healthcheck gives it a 5-minute start period and also probes the bundled LiteLLM; when that is down AI features are unavailable, which the check reports as a warning rather than a failure.
non-negotiablePort 80 in the container is plain HTTP. Setting CUSTOM_DOMAIN makes the container request its own certificate, but only once the domain already points at it; otherwise put a TLS reverse proxy in front. The BB_ADMIN_USER_EMAIL hosting setting can bootstrap an admin account, and upstream says to remove it once that user exists.