Included Dockerfile can be used to build an all-in-one image with all required services installed and running within one container, or separate images for frontend and backend services.
For examples on running the all-in-one image or the multi image deployment see deploy/docker/docker-compose.yaml and deploy/docker/docker-compose-multi.yaml
Environment variables used to configure various aspects of the services are stored in default.env, default-multi.env and override.env. Look into the default files to see which variables can be set and what are the default values. To change the defaults, use override.env. You don't have to use --env-file parameter with doker compose because the files are loaded from within docker-compose.yaml
and docker-compose-multi.yaml
.
This image contains all services needed to run Lowcoder platform in one container.
This is the default target and can be built by running following command from project root:
DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce .
Image can be configured by setting environment variables.
Environment variable | Description | Default-Value |
---|---|---|
LOWCODER_REDIS_ENABLED |
If true redis server is started in the container | true |
LOWCODER_MONGODB_ENABLED |
If true mongo database is started in the container | true |
LOWCODER_MONGODB_EXPOSED |
If true mongo database accept connections from outside the docker | false |
LOWCODER_API_SERVICE_ENABLED |
If true lowcoder api-service is started in the container | true |
LOWCODER_NODE_SERVICE_ENABLED |
If true lowcoder node-service is started in the container | true |
LOWCODER_FRONTEND_ENABLED |
If true lowcoder web frontend is started in the container | true |
LOWCODER_PUID |
ID of user running services. It will own all created logs and data. | 9001 |
LOWCODER_PGID |
ID of group of the user running services. | 9001 |
LOWCODER_MONGODB_URL |
Mongo database connection string | mongodb://localhost:27017/lowcoder?authSource=admin |
LOWCODER_REDIS_URL |
Redis server URL | redis://localhost:6379 |
LOWCODER_DB_ENCRYPTION_PASSWORD |
Encryption password | lowcoder.org |
LOWCODER_DB_ENCRYPTION_SALT |
Salt used for encrypting password | lowcoder.org |
LOWCODER_CORS_DOMAINS |
CORS allowed domains | * |
LOWCODER_PUBLIC_URL |
The URL of the public User Interface | localhost:3000 |
LOWCODER_MAX_REQUEST_SIZE |
Lowcoder max request size | 20m |
LOWCODER_MAX_QUERY_TIMEOUT |
Lowcoder max query timeout (in seconds) | 120 |
LOWCODER_DEFAULT_QUERY_TIMEOUT |
Lowcoder default query timeout (in seconds) | 10 |
LOWCODER_API_RATE_LIMIT |
Number of max Request per Second | 100 |
LOWCODER_API_SERVICE_URL |
Lowcoder API service URL | http://localhost:8080 |
LOWCODER_NODE_SERVICE_URL |
Lowcoder Node service (js executor) URL | http://localhost:6060 |
LOWCODER_MAX_ORGS_PER_USER |
Default maximum organizations per user | 100 |
LOWCODER_MAX_MEMBERS_PER_ORG |
Default maximum members per organization | 1000 |
LOWCODER_MAX_GROUPS_PER_ORG |
Default maximum groups per organization | 100 |
LOWCODER_MAX_APPS_PER_ORG |
Default maximum applications per organization | 1000 |
LOWCODER_MAX_DEVELOPERS |
Default maximum developers | 100 |
LOWCODER_WORKSPACE_MODE |
SAAS to activate, ENTERPRISE to switch off - Workspaces | SAAS |
LOWCODER_EMAIL_SIGNUP_ENABLED |
Control if users create their own Workspace automatic when Sign Up | true |
LOWCODER_EMAIL_AUTH_ENABLED |
Controls whether authentication via email is enabled | true |
LOWCODER_CREATE_WORKSPACE_ON_SIGNUP |
IF LOWCODER_WORKSPACE_MODE = SAAS, controls if a own workspace is created for the user after sign up | true |
LOWCODER_MARKETPLACE_PRIVATE_MODE |
Control if not to show Apps on the local Marketplace to anonymous users | true |
LOWCODER_SUPERUSER_USERNAME |
Username of the Super-User of an Lowcoder Installation | admin@localhost |
LOWCODER_SUPERUSER_PASSWORD |
Password of the Super-User, if not present or empty, it will be generated | `generated and printed into log file |
LOWCODER_PLUGINS_DIR |
Directory holding lowcoder plugins | /lowcoder-stacks/plugins |
LOWCODER_COOKIE_NAME |
Name of the lowcoder application cookie | LOWCODER_CE_SELFHOST_TOKEN |
LOWCODER_COOKIE_MAX_AGE |
Lowcoder application cookie max age in hours | 24 |
LOWCODER_APP_SNAPSHOT_RETENTIONTIME |
Application snapshots retention time in days | 30 |
Also you should set the API-KEY secret, whcih should be a string of at least 32 random characters. (from Lowcoder v2.3.x on)
On linux/mac, generate one eg. with: head /dev/urandom | head -c 30 | shasum -a 256
Environment variable | Description | Default-Value |
---|---|---|
LOWCODER_API_KEY_SECRET |
String to encrypt/sign API Keys that users may create |
To enable secure Password Reset flow for the users, you need to configure your own SMTP Server. You can do this with the following Variables (from Lowcoder v2.4.x on):
Environment Variable | Description | Default Value |
---|---|---|
LOWCODER_ADMIN_SMTP_HOST |
SMTP Hostname of your Mail Relay Server | |
LOWCODER_ADMIN_SMTP_PORT |
Port number for the SMTP service | 587 |
LOWCODER_ADMIN_SMTP_USERNAME |
Username for SMTP authentication | |
LOWCODER_ADMIN_SMTP_PASSWORD |
Password for SMTP authentication | |
LOWCODER_ADMIN_SMTP_AUTH |
Enable SMTP authentication | true |
LOWCODER_ADMIN_SMTP_SSL_ENABLED |
Enable SSL encryption | false |
LOWCODER_ADMIN_SMTP_STARTTLS_ENABLED |
Enable STARTTLS encryption | true |
LOWCODER_ADMIN_SMTP_STARTTLS_REQUIRED |
Require STARTTLS encryption | true |
LOWCODER_EMAIL_NOTIFICATIONS_SENDER |
"from" Email address of the password Reset Email Sender | info@localhost |
Standalone Lowcoder api-service image.
From project root run:
DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-api-service --target lowcoder-ce-api-service .
Image can be configured by setting environment variables.
Environment variable | Description | Default-Value |
---|---|---|
LOWCODER_PUID |
ID of user running services. It will own all created logs and data. | 9001 |
LOWCODER_PGID |
ID of group of the user running services. | 9001 |
LOWCODER_MONGODB_URL |
Mongo database connection string | mongodb://localhost:27017/lowcoder?authSource=admin |
LOWCODER_REDIS_URL |
Redis server URL | redis://localhost:6379 |
LOWCODER_DB_ENCRYPTION_PASSWORD |
Encryption password | lowcoder.org |
LOWCODER_DB_ENCRYPTION_SALT |
Salt used for encrypting password | lowcoder.org |
LOWCODER_CORS_DOMAINS |
CORS allowed domains | * |
LOWCODER_PUBLIC_URL |
The URL of the public User Interface | localhost:3000 |
LOWCODER_MAX_ORGS_PER_USER |
Default maximum organizations per user | 100 |
LOWCODER_MAX_MEMBERS_PER_ORG |
Default maximum members per organization | 1000 |
LOWCODER_MAX_GROUPS_PER_ORG |
Default maximum groups per organization | 100 |
LOWCODER_MAX_APPS_PER_ORG |
Default maximum applications per organization | 1000 |
LOWCODER_MAX_DEVELOPERS |
Default maximum developers | 100 |
LOWCODER_MAX_REQUEST_SIZE |
Lowcoder max request size | 20m |
LOWCODER_MAX_QUERY_TIMEOUT |
Lowcoder max query timeout (in seconds) | 120 |
LOWCODER_DEFAULT_QUERY_TIMEOUT |
Lowcoder default query timeout (in seconds) | 10 |
LOWCODER_WORKSPACE_MODE |
SAAS to activate, ENTERPRISE to switch off - Workspaces | SAAS |
LOWCODER_EMAIL_SIGNUP_ENABLED |
Control is users can create their own Workspace when Sign Up | true |
LOWCODER_CREATE_WORKSPACE_ON_SIGNUP |
IF LOWCODER_WORKSPACE_MODE = SAAS, controls if a own workspace is created for the user after sign up | true |
LOWCODER_MARKETPLACE_PRIVATE_MODE |
Control if not to show Apps on the local Marketplace to anonymous users | true |
LOWCODER_SUPERUSER_USERNAME |
Username of the Super-User of an Lowcoder Installation | admin@localhost |
LOWCODER_SUPERUSER_PASSWORD |
Password of the Super-User, if not present or empty, it will be generated | `generated and printed into log file |
LOWCODER_PLUGINS_DIR |
Directory holding lowcoder plugins | /lowcoder-stacks/plugins |
LOWCODER_COOKIE_NAME |
Name of the lowcoder application cookie | LOWCODER_CE_SELFHOST_TOKEN |
LOWCODER_COOKIE_MAX_AGE |
Lowcoder application cookie max age in hours | 24 |
LOWCODER_APP_SNAPSHOT_RETENTIONTIME |
Application snapshots retention time in days | 30 |
Also you should set the API-KEY secret, whcih should be a string of at least 32 random characters. (from Lowcoder v2.3.x on) On linux/mac, generate one eg. with: head /dev/urandom | head -c 30 | shasum -a 256
Environment variable | Description | Default-Value |
---|---|---|
LOWCODER_API_KEY_SECRET |
String to encrypt/sign API Keys that users may create |
To enable secure Password Reset flow for the users, you need to configure your own SMTP Server. You can do this with the following Variables (from Lowcoder v2.4.x on):
Environment Variable | Description | Default Value |
---|---|---|
LOWCODER_ADMIN_SMTP_HOST |
SMTP Hostname of your Mail Relay Server | |
LOWCODER_ADMIN_SMTP_PORT |
Port number for the SMTP service | 587 |
LOWCODER_ADMIN_SMTP_USERNAME |
Username for SMTP authentication | |
LOWCODER_ADMIN_SMTP_PASSWORD |
Password for SMTP authentication | |
LOWCODER_ADMIN_SMTP_AUTH |
Enable SMTP authentication | true |
LOWCODER_ADMIN_SMTP_SSL_ENABLED |
Enable SSL encryption | false |
LOWCODER_ADMIN_SMTP_STARTTLS_ENABLED |
Enable STARTTLS encryption | true |
LOWCODER_ADMIN_SMTP_STARTTLS_REQUIRED |
Require STARTTLS encryption | true |
LOWCODER_EMAIL_NOTIFICATIONS_SENDER |
"from" Email address of the password Reset Email Sender | info@localhost |
Standalone Lowcoder node-service (JS executor) image.
From project root run:
DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-node-service --target lowcoder-ce-node-service .
Image can be configured by setting environment variables.
Environment variable | Description | Default-Value |
---|---|---|
LOWCODER_PUID |
ID of user running services. It will own all created logs and data. | 9001 |
LOWCODER_PGID |
ID of group of the user running services. | 9001 |
LOWCODER_API_SERVICE_URL |
Lowcoder API service URL | http://localhost:8080 |
Standalone Lowcoder web frontend image.
From project root run:
DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-frontend --target lowcoder-ce-frontend .
Image can be configured by setting environment variables.
Environment variable | Description | Default-Value |
---|---|---|
LOWCODER_PUID |
ID of user running services. It will own all created logs and data. | 9001 |
LOWCODER_PGID |
ID of group of the user running services. | 9001 |
LOWCODER_MAX_QUERY_TIMEOUT |
Lowcoder max query timeout (in seconds) | 120 |
LOWCODER_MAX_REQUEST_SIZE |
Lowcoder max request size | 20m |
LOWCODER_API_SERVICE_URL |
Lowcoder API service URL | http://localhost:8080 |
LOWCODER_NODE_SERVICE_URL |
Lowcoder Node service (js executor) URL | http://localhost:6060 |