How to install Wexflow server on Ubuntu 18.04 using Docker compose

Wexflow is an incredible free, open-source, high-performance, extensible, modular, and cross-platform workflow engine that is specially built for automation. It’s a tool that helps you to easily automate workflows with recurring tasks. You can read more about it here. In this “how-to” I’ll show you how you can install a Wexflow server on Ubuntu 18.04 using Docker compose.

To set the hostname login with ssh via a terminal server and run the following commands:
$ hostnamectl set-hostname hostname

Add the following line to the hosts file:
$ sudo nano /etc/hosts
127.0.1.1 hostname.domainname.extention hostname

$ sudo reboot now

Update your system and reboot
$ sudo apt-get clean && sudo apt-get -y autoremove && sudo apt-get -y update && sudo apt-get -y dist-upgrade –fix-missing && sudo sync && sudo reboot now && sudo reboot now

Install Docker and docker-compose
$ sudo apt-get install docker.io
$ sudo systemctl start docker
$ sudo systemctl enable docker
$ sudo snap install docker
$ sudo reboot now

Prepare your server for Wexflow docker installation
$ mkdir wexflow-5.4
$ cd wexflow-5.4

$ nano ./docker-compose.yml

=== Add Lines below ===

version: “3”
services:
wexflow-backend:
image: danjellz/http-server
ports:
– 8011:8011
volumes:
– ./wexflow-5.4-linux-dotnet-core/Backend:/public
command:
http-server –cors -p 8011

wexflow:
image: mcr.microsoft.com/dotnet/core/sdk:3.1-alpine
ports:
– 8000:8000
volumes:
– ./wexflow-5.4-linux-dotnet-core/:/opt/wexflow/
working_dir: /opt/wexflow/Wexflow.Server
command:
sh -c “cd /opt/wexflow/Wexflow.Server && dotnet Wexflow.Server.dll”

=== Add Lines above ===

Download the file wexflow-5.4-linux-dotnet-core.zip
$ wget https://github.com/aelassas/Wexflow/releases/download/v5.4/wexflow-5.4-linux-dotnet-core.zip

Install unzip
$ sudo apt-get install unzip

Unzip Wexflow package.
$ unzip ./wexflow-5.4-linux-dotnet-core.zip

Move it to the right folder.
$ mv ./wexflow ./wexflow-5.4-linux-dotnet-core

Wexflow docker installation
$ sudo docker-compose up

Make the Wexflow services reboot persistent
Logon to your host using a different terminal and enter the following command to list all docker container_id s:
$ sudo docker ps -a

Now make them restart after reboot by for each container entering:
sudo docker update –restart unless-stopped container_id

Reboot your system
$ sudo reboot now

Navigate in a web browser to http://localhost:8011 to access the backend
Navigate in a web browser to http://localhost:8000 to access the Swagger UI

The default credentials are:
Username: admin
Password: wexflow2018

And you are ready to use Wexflow!

Suggestions for improving this article are welcome, please let me know and drop me a line .