The steps below will guide you through deploying Multiwoven using docker-compose.

Prerequisites

All our Docker images are available in x86_64 architecture, make sure your server supports x86_64 architecture.

Deployment Steps

  1. On your VM or Local Machine, you will need to first create a directory for the Multiwoven deployment files.
mkdir mw
cd mw
  1. Create a self-signed certificate for psuedo-TLS and store them in a sub-directory named certs. Please use the command below and do not change the names of the cert and key files.
mkdir -p certs && openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout certs/selfsigned.key -out certs/selfsigned.crt
  1. Download the Multiwoven docker-compose assets
# docker-compose.yaml
curl -O https://aiseepublicstorage.blob.core.windows.net/multiwoven-docker-compose/docker-compose.yaml

# nginx configuration file
curl -O https://aiseepublicstorage.blob.core.windows.net/multiwoven-docker-compose/nginx.conf

# platform environment variable file
curl -O https://aiseepublicstorage.blob.core.windows.net/multiwoven-docker-compose/platform.env

# temporal environment variable file
curl -O https://aiseepublicstorage.blob.core.windows.net/multiwoven-docker-compose/temporal.env
  1. Follow steps 5-8 to edit the platform.env and temporal.env environment variable files
  2. For the following variables, replace 0.0.0.0 with either localhost or the ip address of your virtual machine
  1. For the SECRET_KEY_BASE, use a random string of 32 characters.
  • SECRET_KEY_BASE=“01010101010101010101010101010101”
  1. The following variables will allow the application to send you a single verification email during the account creation process. If you are using Gmail as recommended, you only need to change the following variables. For SMTP_SENDER and SMTP_USERNAME, you should use your gmail username/email address. For SMTP_PASSWORD, you should use an app password associated with this gmail account. Note, your gmail account’s default password will not work. You must create an app password.
  1. If you are not using Gmail, you will also need to update the following variables with the appropriate values for the email service that you are using.
  • SMTP_ADDRESS=smtp.gmail.com
  • SMTP_HOST=gmail.com
  • SMTP_PORT=587
  1. (Optional) The following changes are only required if you are using an external/cloud postgresql database.
  • DB_HOST=db
  • DB_PASSWORD=password
  • DB_PORT=“5432”
  • DB_USERNAME=multiwoven
  1. (Optional) If you are using an external database, please comment out the following lines in the docker-compose.yaml file.
  • 59-65
  • 81
  • 103
  1. Once your envrionment variables have been updated, please run the following command to deploy the application:
docker-compose up -d
  1. You should now be able to access your deployment using either https://localhost or https://VM_IP_ADDRESS. The nginx proxy will terminate TLS and route your requests back to the necessary services. You can also access the Temporal UI directly via localhost:8080 or VM_IP_ADDRESS:8080.