(Deprecated) Budibase Docs
  • đź‘‹Introduction
  • Quickstart tutorials
    • Build a CRUD app
      • Importing the Vehicles table from a CSV
      • Creating the Service log table from scratch
      • Listing recent Service Logs on the home screen
      • Creating a new Service Log with a modal
    • Build a CRUD app- SQL
      • Connecting to your SQL tables
      • Creating Screens from your SQL tables
      • Using relationships between SQL tables
      • Creating a List screen from scratch, using a SQL table
      • Creating a new log, with a modal
    • Build a CRUD app - REST
      • Adding a REST datasource
      • Creating a query that Lists Issues
      • Using your request to display items in your app
      • Add a “Create Item” request
      • Create a new todo Item, inline
      • Mark todo items as “Done”
      • Finishing Touches
  • Building apps
    • Data
      • Users table
      • Data sources
        • Internal/CSV
        • PostgreSQL and MySQL
        • REST
          • REST Queries
          • REST Bindings Example
          • REST Query Import
          • REST Authentication
          • REST Variables
        • Other sources
      • Data Types
        • Text
        • Number
        • True/False (Boolean)
        • Date/time
        • Options
        • Attachments
          • Example
        • Relationships
          • Example
        • Formula
        • JSON
      • Views
        • Filters
        • Calculations
        • Groups
      • Transformers
    • Design
      • Screens
      • Layouts
      • Components
        • Section
        • Container
        • Data Provider
        • Repeater
        • Table
        • Chart
        • Card
        • Text
        • Button
        • Link
        • Icon
        • Image
        • Embed
      • Forms
        • Form Component
        • Field Groups
        • Fields
      • Bindings
      • Actions
      • App State
      • Conditions
      • App theming (coming soon)
      • Handling Data
        • Search/Filter Data
    • Automate
      • Automation steps
        • Triggers
        • Logic
        • Actions
      • Activating and testing
      • Contextual bindings
    • Admin and management
      • User Management
      • Authentication and SSO
        • OpenID Connect
        • SSO with Auth0
        • SSO with Azure AD
        • SSO with Okta
        • SSO with OneLogin
        • SSO with Google
        • SSO with Keycloak
      • Email
      • Portal
      • User Settings
  • Guides
    • Display user-related data
    • Add search
    • Add filtering
    • Create public & private screens
    • Writing a custom SQL query
    • Create a child record from the parent
    • Items assigned to me
    • Master-detail
  • Self-hosting
    • Get started
      • Budibase CLI Setup
    • Hosting methods
      • Overview
      • DigitalOcean
      • Kubernetes (K8S)
      • Docker compose
    • Hosting settings
      • Advanced options
        • Reverse proxy
    • Accessing CouchDB
    • Accessing MinIO
  • References
    • Budibase architecture
    • Deployment information
    • Troubleshooting
    • Contributing to Budibase
      • Writing Your Own External Data Connectors
Powered by GitBook
On this page
  • Installing Docker
  • Setting up Budibase
  • Further information
Export as PDF
  1. Self-hosting
  2. Hosting methods

Docker compose

Setting up a cluster with Docker and Docker compose

PreviousKubernetes (K8S)NextHosting settings

Last updated 3 years ago

Installing Docker

The first step to getting your Budibase platform up and running with is to make sure that you have the following installed:

Setting up Budibase

Once you have Docker fully installed the rest of the process should be simple! You'll want to download the following files to your host:

If you have an ARM based CPU, you will have to make a slight update to your docker-compose.yaml . Update the couchdb-service part of your compose config with platform: amd64

 couchdb-service:
    platform: linux/amd64
    ...

Once you have these files downloaded running the platform is as simple as:

docker-compose up

Running the above command in a prompt or terminal will start-up the Budibase cluster, installing the latest images for our required services and setting up a network to run them across - this may take some time to download the necessary resources.

Happy Building!

Further information

For those out there interested in a more advanced setup you may want to make alternations to the docker-compose.yaml config file, so just for you we'll cover the various services and their purposes.

All of these services need to be able to communicate with each other, however they can be hosted separately if desired, as long as they have the correct URLs to reach each other they will function.

- for Windows and OSX this means installing the Desktop client, for Linux follow the instructions for your distro; this will require installing the Docker Engine and CLI, as well as containerd.

- follow the instructions for your operating system to install Compose, this controls the orchestration of the Docker containers which make up the Budibase platform.

The pre-requisites for installing Docker are minimal, in general the most important factor is that your OS is up to date - on Linux systems you will need a relatively up to date kernel. To help with this we have provided some scripts to help with installation and setup on a Linux based system, found .

To run the Budibase platform the minimum requirements are simply those required to install and run Docker, these can be found in the .

For running in production we recommend the use of a Linux host, if you run into any issues getting this setup we recommend checking the output of - if you are missing some services here you may need to perform a distribution upgrade.

- this defines the images used by Budibase and how to orchestrate them.

- this contains all the default settings for your Budibase platform.

If you are planning to run the cluster in a production environment, you will want to update some of the settings before moving on, importantly the HOSTING_KEY found in.env Information about this can be found .

When the cluster is ready you'll see a mixture of log messages from the various budibase services. If you run into any issues the easiest way to resolve them would be to raise a discussion on our . You can access your new installation at <server-ip>:10000

- this is our database service, making use of a docker volume to persist data.

- an open source alternative to S3, acting as an object store for files, binary data, attachments and so on.

- our proxy engine, this provides a single interface by which all services can be communicated with as required.

- a background service engine which can handle tasks in the background of the main app servers.

- the main face of the Budibase platform, providing the APIs which your apps will make use of.

Docker Engine
Docker Compose
here
Docker documentation
this script
docker-compose.yaml
.env
here
github discussions community
CouchDB
Minio
Nginx
Budibase Worker
Budibase Server
Docker