Skip to Content

Installation

Prerequisites

  • Docker
  • Docker Compose

Installation

Docker Compose File

Create a new file called docker-compose.yml in the root of your project

docker-compose.yml
services: backend: image: 'bshg/engine:latest' container_name: 'engine-backend' ports: - '7071:7071' env_file: - .env

Environment Variables

Create a new file called .env in the root of your project and copy the following code into it:

.env
BSH_DB_URL=jdbc:postgresql://engine-postgres:5432/engine BSH_DB_USER=engine BSH_DB_PASSWORD=password BSH_DB_DRIVER=org.postgresql.Driver BSH_PORT=7071 # optional BSH_FRONTEND_HOST=http://localhost:* BSH_ADMIN_USERNAME=admin@engine.com BSH_ADMIN_PASSWORD=password BSH_CORE_INSTALL=true # optional

adjust the environment variables to your needs.

  • BSH_FRONTEND_HOST should be the same as the frontend host or any other host that you want to access the engine from.
  • BSH_ADMIN_USERNAME and BSH_ADMIN_PASSWORD are the credentials for the admin user. It will be created automatically when the engine starts.

âť—BSH_CORE_INSTALL

  • BSH_CORE_INSTALL controls whether the core plugin and its initial configuration are installed when starting the engine.
  • For first-time setup, set BSH_CORE_INSTALL=true (default). This creates core resources, including a default admin user and roles.
  • Important: If you make manual changes to core configurations, set BSH_CORE_INSTALL=false before restarting the engine. This prevents your manual changes from being overwritten.

Run the Engine

Run the following command to start the engine:

docker compose up -d

The engine will be available at http://localhost:7071

Explore the Endpoints

After the engine is running, you can fork the BSH Engine Postman collection from the postman workspace to use the exposed endpoints. You can also import the collection into your own Postman workspace.

The collection is updated when the engine is updated.