Manual w/ docker run

Prerequisites

  • Install docker 20.10.11 version or higher

  • Create a directory for on-premise configuration files and download setup script:

    mkdir ui-bakery-on-premise && cd ui-bakery-on-premise && curl -k -L -o setup.sh https://raw.githubusercontent.com/uibakery/self-hosted/main/setup.sh
  • Run the setup.sh script to create .env file with required environmental variables: ./setup.sh

Installation

Pulling container images

First of all, pull all the docker images from UI Bakery's Docker container repository.

docker pull cruibakeryonprem.azurecr.io/cloud/gateway:latest &&\
docker pull cruibakeryonprem.azurecr.io/cloud/bakery-front:latest &&\
docker pull cruibakeryonprem.azurecr.io/cloud/workbench-front:latest &&\
docker pull cruibakeryonprem.azurecr.io/cloud/datasource:latest &&\
docker pull cruibakeryonprem.azurecr.io/cloud/python-runtime:latest &&\
docker pull cruibakeryonprem.azurecr.io/cloud/bakery-back:latest &&\
docker pull cruibakeryonprem.azurecr.io/cloud/automation:latest &&\
docker pull postgres:16.1 &&\
docker pull mysql:8.0

Note, that you might not need Mysql image in case you are using an external database.

Creating a Docker network for images

This network will be later used by containers to communicate with each other.

Starting containers one by one

In order to start the UI Bakery containers and run them one by one, use the following commands.

db (Internal UI Bakery database)

Used for storing user accounts and project metadata (not needed if an external database is used):

bakery-back

Bakery backend which is responsible for storing user accounts, project metadata, etc.

workbench-front

UI Bakery end-user frontend:

bakery-front

UI Bakery developer and workspace frontend:

datasource

UI Bakery data source connection middleware:

python-runtime

UI Bakery python backend code middleware:

automation

UI Bakery module for creating scheduled jobs and webhooks:

gateway

An entry point for all UI Bakery client requests:

bakery-db

Built-in PostgreSQL, available as data source in UI Bakery:

Updating to the newer version

Pull the new container versions using the command specified above. You can also pull a specific version by changing the :latest tag to the version that you need.

Stop running containers:

Remove the containers:

Restart all the containers except MySQL (db) and PostgreSQL (bakery-db) as defined in the section above.

Last updated

Was this helpful?