gorules/brms
Business rules management system by GoRules.
100K+
GoRules BRMS is a business rules management system that is used to define, deploy, execute, and maintain the variety and complexity of decision logic within an organization or enterprise. GoRules prioritizes business user experience, performance, and reliability. It enables you to quickly create scalable decisions (rules), and manage multiple versions across multiple workspaces.
Its purpose is to help you with:
🎯 Building simple and intuitive decisions.
🚀 Deploying changes safely across multiple environments.
📂 Organising decisions better in a file-like system and across multiple internal projects.
🔍 Tracking all changes made within the system using an audit log.
Copy the following contents to docker-compose.yml
file and run docker-compose up
. Then visit http://localhost:9080.
version: '3.8'
services:
admin:
image: 'gorules/brms'
ports:
- '9080:80'
depends_on:
- pg-database
environment:
DB_HOST: pg-database
DB_PORT: 5432
DB_USER: my-user
DB_PASSWORD: my-password
DB_NAME: test-db
DB_SSL_DISABLED: true
LICENSE_KEY: 'my-license-key' # Obtain it from https://portal.gorules.io
pg-database:
image: 'postgres'
environment:
POSTGRES_USER: my-user
POSTGRES_PASSWORD: my-password
POSTGRES_DB: test-db
ports:
- '5432:5432'
Similarly to above, you need to spawn a postgres database. You can do so by running docker run --env-file db.env postgres
.
Afterwards, create a file containing minimal set of environment variables, and run docker run --env-file app.env
.
Below is the minimal set of environment variables you need to use in order to deploy GoRules BRMS:
DB_HOST= # Database Host
DB_USER= # Database User
DB_PASSWORD= # Database Password
DB_NAME= # Database Name
LICENSE_KEY= # License Key obtained from https://portal.gorules.io
# General
APP_NAME=GoRules # App name (optional)
APP_URL=http://localhost:4200 # App url (optional)
HOME_URI=/ # Home URI (optional)
# Database
DB_PORT=5432 # Database port (optional)
DB_LOGGING=false # Database logging (optional)
DB_SYNCHRONIZE=false # Enable automatic model synchronization (optional)
DB_MIGRATE=true # Enable database migration (optional)
DB_REJECT_UNAUTHORIZED=false # Reject unauthorized access for the database. Acts as an SSL bypass. (optional)
DB_SSL_DISABLED=false # Disable database SSL
DB_SSL_CA= # Database SSL Certificate Authority (CA) - base64 encoded. You can use https://gorules.io/tools/base64-certificate to encode your certificate
DB_SSL_CERT= # Database SSL Certificate
DB_SSL_KEY= # Database SSL Key
DB_SSL_ADVANCED # Advanced SSL Settings provided in JSON. Overrides all DB SSL settings. See https://microsoft.github.io/PowerBI- JavaScript/interfaces/_node_modules__types_node_tls_d_._tls_.tlsoptions.html for more details
# Authentication and security
SESSION_DURATION_MINUTES=1440 # Duration of signin in minutes (optional)
COOKIE_SECRET=cookie-secret # Cookie secret (optional) - should be changed
# Email configuration (User invites, authentication, etc) - leave empty to use the GoRules emailing service
EMAIL_ENABLED=true # Enable email authentication (optional)
EMAIL_URL=https://portal.gorules.io # URL for email (optional)
EMAIL_FROM=noreply@gorules.io # Email from (optional)
EMAIL_HOST= # SMTP Email host (optional)
EMAIL_PORT= # SMTP Email port (optional)
EMAIL_SECURE=false # SMTP Email secure flag (optional)
EMAIL_TLS_REJECT_UNAUTHORIZED= # SMTP Email reject unauthorized (optional)
EMAIL_AUTH_USER= # SMTP Auth User (optional)
EMAIL_AUTH_PASS= # SMTP Auth Pass (optional)
# Microsoft Azure AD OpenID Connect (Business plan+) - available from v1.6.0
SSO_OAUTH2_PROVIDER=azure
SSO_OAUTH2_CLIENT_ID=
SSO_OAUTH2_CLIENT_SECRET=
SSO_OAUTH2_SCOPES=openid email profile
SSO_OAUTH2_AUTH_URL= #example https://login.microsoftonline.com/<tenant_uuid>/oauth2/v2.0/authorize
SSO_OAUTH2_TOKEN_URL= #example https://login.microsoftonline.com/<tenant_uuid>/oauth2/v2.0/token
SSO_OAUTH2_AUTHORITY_URL= #example https://login.microsoftonline.com/<tenant_uuid> - important for a single tenant setup
SSO_OAUTH2_GROUPS_MAPPING=group_uuid->admin
#OR
# Okta OpenID Connect (Business plan+) available from v1.6.0
SSO_OAUTH2_PROVIDER=okta
SSO_OAUTH2_CLIENT_ID=
SSO_OAUTH2_CLIENT_SECRET=
SSO_OAUTH2_SCOPES=openid email profile groups
SSO_OAUTH2_AUTH_URL= #example https://<domain>.okta.com/oauth2/v1/authorize
SSO_OAUTH2_TOKEN_URL=. #example https://<domain>.okta.com/oauth2/v1/token
SSO_OAUTH2_GROUPS_MAPPING= #example brms_admin->admin,brms_author->author
docker pull gorules/brms