These commands can be used together to conduct a "hard" restart of Monolith.
Restarting Monolith in this way does not cause any data loss and should be used when you need to update your licensing from a license token.
Additional Docker commands can be reviewed on Dockers official documentation pages:
https://docs.docker.com/engine/reference/run/
Additional Docker compose commands can be reviewed on Docker's official documentations pages:
Once you have purchased Monolith and are ready to deploy - you will be provided with a Monolith On-premises deployment package. This package will contain configuration files necessary to run the deployment.
The package will contain the following items:
.env
This is an environment file that will contain variables that are injected into your Monolith deployment at run time. This is where your licensing information will be location along with other settings.
docker-compose.yml
This is a Docker deployment configuration file. This file dictates how the various Monolith containers will be built and deployed.
This allows you to use a pre-defined configuration so that you don't need to build the Monolith Docker deployment from scratch.
init folder
This contains additional configuration files needed for successful deployment.
This is an environment variables file that is loaded into the Monolith Docker deployment at build/run time. These values determine various setup options and licensing information for your Monolith deployment.
The values are typically set for you when you purchase Monolith.
Make sure the file name is changed to ".env" from "env.txt".
This is a license key that allows for your Monolith deployment to get licensing information from our online license server. Using this value ensures that your Monolith deployment always has up to date license info.
This key will be provided to you upon purchase.
This is a signed token that contains licensing information for your Monolith purchase. This can be used to utilize cached license info without needed to query our licensing server for license info.
This is a good option for Monolith deployments that exist in air-gapped environments.
If this value is provided, Monolith will use this instead of the license key value.
This should be a long alphanumeric string. This value is used for various cryptographic operations related to access tokens, encryption, and session management.
This should be a long alphanumeric string. This value is used for various cryptographic operations related to access tokens, encryption, and session management.
This is the name of the MySQL schema that the Monolith API server should connect to.
This is the domain or IP address of the MySQL database host that the Monolith API server should connect to.
This is the MySQL user name that should be used for database connections.
NOTE: This should only be root if you are using the default MySQL container. If using an external MySQL database, you should provision a user account other than root to use here.
The port that should be used for database connections. The default MySQL port is 3306.
MySQL password used to establish database connections.
First name of initial Monolith user. Only required for first time setup/deployment.
Last name of initial Monolith user. Only required for first time setup/deployment.
Email of initial Monolith user. Only required for first time setup/deployment.
Password of initial Monolith user - this will be used for firs time login to Monolith. Only required for first time setup/deployment.
Initial tenant name for your Relay deployment. Only required for first time setup/deployment.
Organization name for your Relay deployment. Only required for first time setup/deployment.
URL slug for your Relay deployment. Only required for first time setup/deployment.
Initial tenant email for your Relay deployment. Only required for first time setup/deployment.
The Monolith API server runs in "cluster" mode. This allows multiple instances to run at the same time, which increases scalability. This value defaults to 1 and is disabled by default. You will likely not need to use this value, but contact support if you think this is needed.
This value determines whether Monolith will use a local file system or Amazon S3 to store Monolith files. Allowed values are "S3" or "Local". The default value is "Local". If you set this to "S3", you will also need to set the S3 access key values.
This value configures Monolith to use the correct AWS region with your S3 bucket.
The S3 bucket where you would like to store files uploaded to Relay.
The S3 bucket where you would like to store files uploaded to Monolith.
AWS access key to use S3 APIs for file storage.
AWS secret key to use S3 APIs for file storage.
Email host domain to enable email capabilities in Monolith.
Email port to enable email capabilities in Monolith. This value is typically 587.
User value to enable email capabilities in Monolith. May not be required if you are using an SMTP relay.
User password to enable email capabilities in Monolith. May not be required if using an SMTP relay.
These are the documented methods of installation for Docker
To Install Docker on Windows, you need to install Docker Desktop for Windows. This installer can be downloaded from here:
https://www.docker.com/products/docker-desktop/
To deploy Monolith on Windows, you will need to install the WSL package for Windows. This allows Windows to run Linux containers. During the Docker Desktop install, Docker typically prompts you to install this. If not, here is a direct link to download and install WSL:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
To Install Docker on MacOS, you need to install Docker Desktop for MacOS. This installer can be downloaded from here:
https://www.docker.com/products/docker-desktop/
To install Docker on a Linux OS, refer to the following Docker documentation for Linux installations:
Deploying Monolith with the default configuration is a simple matter.
Install Docker - Instructions
Pick a location to store your on-premises package files.
Open a command terminal.
Navigate to the location of your Monolith On-premises package files.
This is the folder that contains the .env and docker-compose.yml files.
Run the following command to download, deploy, and run the Monolith containers referenced in the docker-compose.yml file:
docker compose up -d
This will download the Monolith container images which may take a few minutes.
Once downloaded, the containers will launch and build the initial Monolith system.
You can then navigate to Monolith in a web browser using the IP address of the host system running Monolith:
https://{host_server_ip}
To remove the docker containers, you can use the following command:
docker compose down
NOTE: If deploying Monolith inside of a virtual machine, you must enable "nested virtualization" for Docker to work.
Docker configuration and deployment file
This file is used to define the deployment options for the various Docker containers that make up the Monolith on-premises deployment.
Unless you require an advanced deployment, you will not need to modify this file.
Note: Indentation matters in this file - if the indentation is not set properly, you may see errors when trying to deploy Monolith.
This file is used with the following commands to build, re-build, and remove the containers that run Monolith.