(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
  • Simple HTTPS Setup with Caddy
  • NGINX (Advanced)
Export as PDF
  1. Self-hosting
  2. Hosting settings
  3. Advanced options

Reverse proxy

How to configure a reverse proxy for your Budibase platform

PreviousAdvanced optionsNextAccessing CouchDB

Last updated 3 years ago

One of the main things you will want to setup before putting your Budibase platform into production use is a proxy, which can control access to the cluster via a domain (removing the need for a port number and so on) as well as allowing the use of HTTPS for a domain that you own. In this section we will provide some configuration options to get this up and running easily with or .

Simple HTTPS Setup with Caddy

Caddy is an open source web server with automatic HTTPS written in Go.

If you want to get HTTPS up and running on your budibase instance as quickly as possible with caddy, go through the following steps.

Install Caddy

Follow the caddy installation instructions here:

Once you have done this, you should be able to check that you have caddy available on your machine.

caddy version # should print your version of caddy

Next, create a Caddyfile with your domain in it.

yourdomain.com

You can then simply run caddy start, and HTTPS should be set up on your domain.

You must now set up Caddy to point at your budibase instance. You can do this by stopping caddy with caddy stop, and restarting it with the following command. (Remember to replace your domain name and the URL with the ones you use.)

caddy reverse-proxy --from yourdomain.com --to localhost:10000

That's it! Full HTTPS and reverse proxy setup with caddy and budibase.

NGINX (Advanced)

Our recommendation for running Budibase is a "many app one server" approach, where many different apps can be deployed to the same self hosted Budibase platform. Below we have detailed a basic method for getting Budibase up and running behind a reverse proxy, which you can then update to add into an existing configuration or add SSL information.

Here is a basic reverse proxy configuration which will simply pass all requests from a domain/sub-domain/path to your Budibase platform.

# Budibase
set $budibase_host      <BUDIBASE_ADDRESS>;
set $budibase_port      10000;

server {
    listen 80;
    server_name yourdomain.com;
    
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_pass http://$budibase_host:$budibase_port;
    }
    
    client_max_body_size 50m;
}

In this configuration all that needs to be updated for this to work is where the Budibase platform has been hosted, if it is hosted on the same machine then simply replace <BUDIBASE_ADDRESS> with localhost.

There are a few ways this can be extended/altered:

  1. This is just a basic version which will proxy on any requests to your domain/sub-domain to the Budibase platform, you can change the server_name to suit your needs.

  2. Where location / has been set you can change the slash to a path name if you desire to have your Budibase app server running on a specific path rather than the whole domain or a sub-domain.

Please note, this section assumes some knowledge of NGINX installation, setup and configuration. Information about NGINX can be found here: , and .

Lastly if you want to make use of HTTPS/TLS you can either configure this basic configuration to re-direct traffic to HTTPS and then add your certificate, or you can use to automatically generate and look after the certificates for your domain!

installing
setup
configuration
certbot-auto
NGINX
Caddy
Install - Caddy Documentation
Logo