Install Process (Detailed)

For instructions in AWS, Azure or GCP, please see the environment specific details.

Typical Install

To begin with, ensure to provision a Linux VM or bare metal instance with at least two CPU cores and 4GB of RAM. Login and install with the following command:

sudo bash -c 'bash <(curl -s http://s3.heimdalldata.com/hdinstall.sh) server'

While executing, output similar to the following should be generated (this is on Ubuntu 18.04, your output may vary):

    This script may take time to install dependencies and download, please be patient!
    Detected distro: ubuntu
    Hit:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic InRelease
    Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
    ...
    Get:28 http://security.ubuntu.com/ubuntu bionic-security/multiverse Translation-en [2356 B]
    Fetched 17.9 MB in 4s (4173 kB/s)
    Reading package lists...
    Reading package lists...
    Building dependency tree...
    Reading state information...
    The following additional packages will be installed:
      libcurl4 libhavege1 libopts25 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-meld3 python-minimal python-pkg-resources python2.7 python2.7-minimal
    Suggested packages:
      ntp-doc python-doc python-tk python-setuptools python2.7-doc binutils binfmt-support supervisor-doc zip
    Recommended packages:
      sntp
    The following NEW packages will be installed:
      haveged libhavege1 libopts25 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib ntp python python-meld3 python-minimal python-pkg-resources python2.7 python2.7-minimal supervisor
      unzip
    The following packages will be upgraded:
      curl libcurl4
    2 upgraded, 15 newly installed, 0 to remove and 60 not upgraded.
    Need to get 5663 kB of archives.
    After this operation, 21.8 MB of additional disk space will be used.
    Get:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic/universe amd64 libopts25 amd64 1:5.18.12-4 [58.2 kB]
    ...
    Get:17 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic/universe amd64 supervisor all 3.3.1-1.1 [256 kB]
    Fetched 5663 kB in 0s (31.4 MB/s)
    Selecting previously unselected package libopts25:amd64.
    (Reading database ... 56638 files and directories currently installed.)
    Preparing to unpack .../0-libopts25_1%3a5.18.12-4_amd64.deb ...
    Unpacking libopts25:amd64 (1:5.18.12-4) ...
    ...
    Selecting previously unselected package supervisor.
    Preparing to unpack .../8-supervisor_3.3.1-1.1_all.deb ...
    Unpacking supervisor (3.3.1-1.1) ...
    Processing triggers for mime-support (3.60ubuntu1) ...
    Processing triggers for ureadahead (0.100.0-21) ...
    Setting up libcurl4:amd64 (7.58.0-2ubuntu3.8) ...
    Setting up unzip (6.0-21ubuntu1) ...
    Setting up libhavege1:amd64 (1.9.1-6) ...
    Processing triggers for libc-bin (2.27-3ubuntu1) ...
    Processing triggers for systemd (237-3ubuntu10.24) ...
    Setting up libopts25:amd64 (1:5.18.12-4) ...
    Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
    Setting up libpython2.7-stdlib:amd64 (2.7.15-4ubuntu4~18.04.1) ...
    Setting up curl (7.58.0-2ubuntu3.8) ...
    Setting up ntp (1:4.2.8p10+dfsg-5ubuntu7.1) ...
    Created symlink /etc/systemd/system/network-pre.target.wants/ntp-systemd-netif.path → /lib/systemd/system/ntp-systemd-netif.path.
    Created symlink /etc/systemd/system/multi-user.target.wants/ntp.service → /lib/systemd/system/ntp.service.
    ntp-systemd-netif.service is a disabled or a static unit, not starting it.
    Setting up python2.7 (2.7.15-4ubuntu4~18.04.1) ...
    Setting up haveged (1.9.1-6) ...
    Created symlink /etc/systemd/system/default.target.wants/haveged.service → /lib/systemd/system/haveged.service.
    Setting up libpython-stdlib:amd64 (2.7.15~rc1-1) ...
    Setting up python (2.7.15~rc1-1) ...
    Setting up python-meld3 (1.0.2-2) ...
    Setting up python-pkg-resources (39.0.1-2) ...
    Setting up supervisor (3.3.1-1.1) ...
    Created symlink /etc/systemd/system/multi-user.target.wants/supervisor.service → /lib/systemd/system/supervisor.service.
    Processing triggers for libc-bin (2.27-3ubuntu1) ...
    Processing triggers for ureadahead (0.100.0-21) ...
    Processing triggers for systemd (237-3ubuntu10.24) ...
    Reading package lists...
    Building dependency tree...
    Reading state information...
    The following additional packages will be installed:
      ca-certificates-java default-jre-headless fontconfig-config fonts-dejavu-core java-common libasound2 libasound2-data libavahi-client3 libavahi-common-data libavahi-common3 libcups2
      libfontconfig1 libjpeg-turbo8 libjpeg8 liblcms2-2 libnspr4 libnss3 libpcsclite1 libxi6 libxrender1 libxtst6 openjdk-11-jdk-headless openjdk-11-jre-headless x11-common
    Suggested packages:
      default-jre libasound2-plugins alsa-utils cups-common liblcms2-utils pcscd openjdk-11-demo openjdk-11-source libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic fonts-ipafont-mincho
      fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic
    The following NEW packages will be installed:
      ca-certificates-java default-jdk-headless default-jre-headless fontconfig-config fonts-dejavu-core java-common libasound2 libasound2-data libavahi-client3 libavahi-common-data
      libavahi-common3 libcups2 libfontconfig1 libjpeg-turbo8 libjpeg8 liblcms2-2 libnspr4 libnss3 libpcsclite1 libxi6 libxrender1 libxtst6 openjdk-11-jdk-headless openjdk-11-jre-headless
      x11-common
    0 upgraded, 25 newly installed, 0 to remove and 60 not upgraded.
    Need to get 232 MB of archives.
    After this operation, 383 MB of additional disk space will be used.
    Get:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libjpeg-turbo8 amd64 1.5.2-0ubuntu5.18.04.1 [110 kB]
    ...
    Get:25 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates/main amd64 default-jdk-headless amd64 2:1.11-68ubuntu1~18.04.1 [1132 B]
    Fetched 232 MB in 4s (54.9 MB/s)
    Selecting previously unselected package libjpeg-turbo8:amd64.
    (Reading database ... 57703 files and directories currently installed.)
    Preparing to unpack .../00-libjpeg-turbo8_1.5.2-0ubuntu5.18.04.1_amd64.deb ...
    Unpacking libjpeg-turbo8:amd64 (1.5.2-0ubuntu5.18.04.1) ...
    Selecting previously unselected package java-common.
    ...
    Setting up libxi6:amd64 (2:1.7.9-1) ...
    Processing triggers for ureadahead (0.100.0-21) ...
    Setting up liblcms2-2:amd64 (2.9-1ubuntu0.1) ...
    Setting up libpcsclite1:amd64 (1.8.23-1) ...
    Setting up fonts-dejavu-core (2.37-1) ...
    Setting up libasound2-data (1.1.3-5ubuntu0.2) ...
    Setting up java-common (0.68ubuntu1~18.04.1) ...
    Setting up libjpeg-turbo8:amd64 (1.5.2-0ubuntu5.18.04.1) ...
    Setting up libnspr4:amd64 (2:4.18-1ubuntu1) ...
    Setting up libasound2:amd64 (1.1.3-5ubuntu0.2) ...
    Processing triggers for libc-bin (2.27-3ubuntu1) ...
    Processing triggers for systemd (237-3ubuntu10.24) ...
    Setting up libxrender1:amd64 (1:0.9.10-1) ...
    Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
    Setting up x11-common (1:7.7+19ubuntu7.1) ...
    update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
    Processing triggers for ca-certificates (20180409) ...
    Updating certificates in /etc/ssl/certs...
    0 added, 0 removed; done.
    Running hooks in /etc/ca-certificates/update.d...
    done.
    Setting up libavahi-common-data:amd64 (0.7-3.1ubuntu1.2) ...
    Setting up libjpeg8:amd64 (8c-2ubuntu8) ...
    Setting up fontconfig-config (2.12.6-0ubuntu2) ...
    Setting up libnss3:amd64 (2:3.35-2ubuntu2.3) ...
    Setting up libxtst6:amd64 (2:1.2.3-1) ...
    Setting up libavahi-common3:amd64 (0.7-3.1ubuntu1.2) ...
    Setting up libfontconfig1:amd64 (2.12.6-0ubuntu2) ...
    Setting up libavahi-client3:amd64 (0.7-3.1ubuntu1.2) ...
    Setting up libcups2:amd64 (2.2.7-1ubuntu2.7) ...
    Setting up ca-certificates-java (20180516ubuntu1~18.04.1) ...
    head: cannot open '/etc/ssl/certs/java/cacerts' for reading: No such file or directory
    Adding debian:SecureTrust_CA.pem
    ...
    Adding debian:OISTE_WISeKey_Global_Root_GA_CA.pem
    done.
    Setting up default-jre-headless (2:1.11-68ubuntu1~18.04.1) ...
    Setting up openjdk-11-jre-headless:amd64 (11.0.4+11-1ubuntu2~18.04.3) ...
    update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/rmid to provide /usr/bin/rmid (rmid) in auto mode
    update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode
    ...
    update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/jhsdb to provide /usr/bin/jhsdb (jhsdb) in auto mode
    Setting up default-jdk-headless (2:1.11-68ubuntu1~18.04.1) ...
    Processing triggers for libc-bin (2.27-3ubuntu1) ...
    Processing triggers for ureadahead (0.100.0-21) ...
    Processing triggers for systemd (237-3ubuntu10.24) ...
    Processing triggers for ca-certificates (20180409) ...
    Updating certificates in /etc/ssl/certs...
    0 added, 0 removed; done.
    Running hooks in /etc/ca-certificates/update.d...

    done.
    done.
    /dev/fd/63: line 203: [[: 0 2019-07-16: syntax error in expression (error token is "2019-07-16")   # ignore if observed, due to OpenJDK version string
    /dev/fd/63: line 207: [[: 0 2019-07-16: syntax error in expression (error token is "2019-07-16")   # ignore if observed
    Downloading Heimdall install package--this may take a while.
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  158M  100  158M    0     0  52.6M      0  0:00:03  0:00:03 --:--:-- 52.6M
    Decompressing zip file
    Archive:  heimdall.zip
       creating: heimdall/
       creating: heimdall/devops/
      inflating: heimdall/devops/packer-build.sh  
      inflating: heimdall/devops/packer-template  
      inflating: heimdall/devops/packer-setup.sh  
      inflating: heimdall/statechange-greenplum-source.py  
      inflating: heimdall/heimdalldriver.jar  
       creating: heimdall/config/
      inflating: heimdall/config/Oracle11Java6_1.conf  
      inflating: heimdall/config/Oracle12cJava6_1.conf  
      inflating: heimdall/config/MySQL_1.conf  
      inflating: heimdall/config/MS-SQL-Server_1.conf  
      inflating: heimdall/config/admin_1.conf  
      inflating: heimdall/config/Oracle11_1.conf  
      inflating: heimdall/config/PostgreSQL_1.conf  
      inflating: heimdall/config/heimdall.conf  
      inflating: heimdall/proxy-start.sh  
      inflating: heimdall/heimdallserver.sh  
      inflating: heimdall/heimdallserver.jar  
      inflating: heimdall/license.rtf    
      inflating: heimdall/NOTICE.txt     
       creating: heimdall/static/
       creating: heimdall/static/drivers/
       creating: heimdall/static/drivers/MS-SQL-Server/
      inflating: heimdall/static/drivers/MS-SQL-Server/mssql-jdbc-6.4.0.jre7.jar  
       creating: heimdall/static/drivers/PostgreSQL/
      inflating: heimdall/static/drivers/PostgreSQL/postgresql-42.2.5.jre6.jar  
       creating: heimdall/static/drivers/MySQL/
      inflating: heimdall/static/drivers/MySQL/mysql-connector-java-5.1.47.jar  
       creating: heimdall/static/drivers/Oracle11Java6/
      inflating: heimdall/static/drivers/Oracle11Java6/Oracle11gR2-ojdbc6.jar  
       creating: heimdall/static/drivers/Oracle12cJava6/
      inflating: heimdall/static/drivers/Oracle12cJava6/Oracle12cR1-ojdbc6.jar  
       creating: heimdall/static/modules/
      inflating: heimdall/static/modules/heimdallsqlserver-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallforward-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallloadbalancer-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallfirewall-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallhazelcast-3.6.8-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallredis-3.5.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallpw-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallauth-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallpostgres-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdalltrigger-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallextractplan-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallmysql-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallasync-1.0-19.7.21.1.jar  
       creating: heimdall/super/
      inflating: heimdall/super/readme.txt  
      inflating: heimdall/super/heimdallproxy.conf  
      inflating: heimdall/super/heimdallserver.conf  
      inflating: heimdall/hdinstall.sh   
    Failed to stop supervisord.service: Unit supervisord.service not loaded.
    Failed to disable unit: Unit file supervisord.service does not exist.
    Created symlink /etc/systemd/system/multi-user.target.wants/supervisord.service → /etc/systemd/system/supervisord.service.
    started supervisord via systemctl
    The server should now be online, and available on http://<server ip>:8087/
    Please refer to the help on the login page for the default username and password

This should bring online the UI on port 8087. To check, execute:

netstat -alnp | grep "8087.*java"

A line should appear similar to:

tcp6       0      0 :::8087                 :::*                    LISTEN      7464/java

Manual Install Behind Firewall

If your linux instance is behind a firewall, and can't access the Internet, please use the following to install Heimdall:

  1. Install the following dependencies manually per your Linux distribution's standards: OpenJDK 8+ (Oracle Java is acceptable as well) unzip supervisord (/etc/supervisor/conf.d is assumed for service configuration)
  2. mkdir /opt; cd /opt
  3. Download the following files into /opt: https://s3.amazonaws.com/s3.heimdalldata.com/hdinstall.sh https://s3.amazonaws.com/s3.heimdalldata.com/heimdall.zip
  4. chmod a+x /opt/hdinstall.sh
  5. ./hdinstall.sh server

This should result in output similar to the following:

    isProxy: false
    This script may take time to install dependencies and download, please be patient!
    Detected distro: ubuntu
    Hit:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic InRelease
    Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
    Get:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
    Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
    Fetched 252 kB in 0s (764 kB/s)
    Reading package lists...
    Reading package lists...
    Building dependency tree...
    Reading state information...
    unzip is already the newest version (6.0-21ubuntu1).
    haveged is already the newest version (1.9.1-6).
    supervisor is already the newest version (3.3.1-1.1).
    curl is already the newest version (7.58.0-2ubuntu3.8).
    ntp is already the newest version (1:4.2.8p10+dfsg-5ubuntu7.1).
    0 upgraded, 0 newly installed, 0 to remove and 60 not upgraded.
    ./hdinstall.sh: line 205: [[: 0 2019-07-16: syntax error in expression (error token is "2019-07-16")   # ignore if observed, due to OpenJDK version string
    ./hdinstall.sh: line 209: [[: 0 2019-07-16: syntax error in expression (error token is "2019-07-16")   # ignore if observed
    Decompressing zip file
    Archive:  heimdall.zip
       creating: heimdall/
       creating: heimdall/devops/
      inflating: heimdall/devops/packer-build.sh  
      inflating: heimdall/devops/packer-template  
      inflating: heimdall/devops/packer-setup.sh  
      inflating: heimdall/statechange-greenplum-source.py  
      inflating: heimdall/heimdalldriver.jar  
       creating: heimdall/config/
      inflating: heimdall/config/Oracle11Java6_1.conf  
      inflating: heimdall/config/Oracle12cJava6_1.conf  
      inflating: heimdall/config/MySQL_1.conf  
      inflating: heimdall/config/MS-SQL-Server_1.conf  
      inflating: heimdall/config/admin_1.conf  
      inflating: heimdall/config/Oracle11_1.conf  
      inflating: heimdall/config/PostgreSQL_1.conf  
      inflating: heimdall/config/heimdall.conf  
      inflating: heimdall/proxy-start.sh  
      inflating: heimdall/heimdallserver.sh  
      inflating: heimdall/heimdallserver.jar  
      inflating: heimdall/license.rtf    
      inflating: heimdall/NOTICE.txt     
       creating: heimdall/static/
       creating: heimdall/static/drivers/
       creating: heimdall/static/drivers/MS-SQL-Server/
      inflating: heimdall/static/drivers/MS-SQL-Server/mssql-jdbc-6.4.0.jre7.jar  
       creating: heimdall/static/drivers/PostgreSQL/
      inflating: heimdall/static/drivers/PostgreSQL/postgresql-42.2.5.jre6.jar  
       creating: heimdall/static/drivers/MySQL/
      inflating: heimdall/static/drivers/MySQL/mysql-connector-java-5.1.47.jar  
       creating: heimdall/static/drivers/Oracle11Java6/
      inflating: heimdall/static/drivers/Oracle11Java6/Oracle11gR2-ojdbc6.jar  
       creating: heimdall/static/drivers/Oracle12cJava6/
      inflating: heimdall/static/drivers/Oracle12cJava6/Oracle12cR1-ojdbc6.jar  
       creating: heimdall/static/modules/
      inflating: heimdall/static/modules/heimdallsqlserver-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallforward-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallloadbalancer-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallfirewall-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallgeode-1.8.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallcoherence-12.2.1.3.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallhazelcast-3.6.8-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallredis-3.5.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallignite-2.6.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallpw-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallauth-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallpostgres-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdalltrigger-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallextractplan-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallmysql-1.0-19.7.21.1.jar  
      inflating: heimdall/static/modules/heimdallasync-1.0-19.7.21.1.jar  
       creating: heimdall/super/
      inflating: heimdall/super/readme.txt  
      inflating: heimdall/super/heimdallproxy.conf  
      inflating: heimdall/super/heimdallserver.conf  
      inflating: heimdall/hdinstall.sh   
    Removed /etc/systemd/system/multi-user.target.wants/supervisord.service.
    Created symlink /etc/systemd/system/multi-user.target.wants/supervisord.service → /etc/systemd/system/supervisord.service.
    started supervisord via systemctl
    The server should now be online, and available on http://<server ip>:8087/
    Please refer to the help on the login page for the default username and password

This should bring online the UI on port 8087. To check, execute:

netstat -alnp | grep "8087.*java"

A line should appear similar to:

tcp6       0      0 :::8087                 :::*                    LISTEN      7464/java

Docker Install

First download the Docker file:

wget https://s3.amazonaws.com/s3.heimdalldata.com/Dockerfile

Next, build the base image, specifying the version or name you wish to use as a tag:

docker build -t "heimdall:current" .

This should result in logs similar to:

    Sending build context to Docker daemon    351MB
    Step 1/9 : FROM ubuntu:latest
    latest: Pulling from library/ubuntu
    35c102085707: Pull complete 
    251f5509d51d: Pull complete 
    8e829fe70a46: Pull complete 
    6001e1789921: Pull complete 
    Digest: sha256:d1d454df0f579c6be4d8161d227462d69e163a8ff9d20a847533989cf0c94d90
    Status: Downloaded newer image for ubuntu:latest
     ---> a2a15febcdf3
    Step 2/9 : EXPOSE 8087
     ---> Running in dc59ab49c878
    Removing intermediate container dc59ab49c878
     ---> aa80982c4f15
    Step 3/9 : EXPOSE 5432
     ---> Running in f06c8b383fcb
    Removing intermediate container f06c8b383fcb
     ---> d1ddf2b32310
    Step 4/9 : EXPOSE 5050
     ---> Running in 9c1b043ac1d3
    Removing intermediate container 9c1b043ac1d3
     ---> 0346b8d31eeb
    Step 5/9 : RUN DEBIAN_FRONTEND=noninteractive apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get -y upgrade && DEBIAN_FRONTEND=noninteractive apt-get -y install openjdk-8-jdk supervisor unzip wget ntp
     ---> Running in a2107cee8a89
    Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
    Get:2 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [4952 B]
    ...
      inflating: heimdall/static/modules/heimdallasync-1.0-19.7.21.1.jar  
       creating: heimdall/super/
      inflating: heimdall/super/readme.txt  
      inflating: heimdall/super/heimdallproxy.conf  
      inflating: heimdall/super/heimdallserver.conf  
      inflating: heimdall/hdinstall.sh   
    Removing intermediate container 37ddb6bcb143
     ---> 92b29de604ae
    Step 7/9 : RUN mv heimdall /opt && cp /opt/heimdall/super/heimdallserver.conf /etc/supervisor/conf.d
     ---> Running in 48e149131223
    Removing intermediate container 48e149131223
     ---> 3b4b5a66bd11
    Step 8/9 : RUN sed -i 's/^\(\[supervisord\]\)$/\1\nnodaemon=true/' /etc/supervisor/supervisord.conf
     ---> Running in 230a85b07000
    Removing intermediate container 230a85b07000
     ---> 460248ac1b87
    Step 9/9 : CMD ["supervisord", "-c", "/etc/supervisor/supervisord.conf"]
     ---> Running in 9c20424bec22
    Removing intermediate container 9c20424bec22
     ---> b3372e92bd83
    Successfully built b3372e92bd83
    Successfully tagged heimdall:current

Now, run the instance, exposing the ports desired for management and proxy ports:

docker run -d --name heimdall-instance -p 8087:8087 -p 3306:3306 -p 5432:5432 -p 1433:1433 heimdall:current

Finally, verify that the docker instance is running:

docker ps -a

Result should be similar to:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                                                                      NAMES
1c5ed6913450        heimdall:current    "supervisord -c /etc…"   2 minutes ago       Up 2 minutes        0.0.0.0:1433->1433/tcp, 0.0.0.0:3306->3306/tcp, 0.0.0.0:5432->5432/tcp, 0.0.0.0:8087->8087/tcp, 5050/tcp   heimdall-instance

Application Configuration

If everything is setup properly, then an application's configuration can be set to point to the Heimdall Hostname (or the NLB hostname for a Cloudformation deployment), wit the port as specified in the proxy configuration (typically matching the default for the database type). This configuration is application and framework dependent, so please consult the application's documentation on how to adjust this configuration.

Lambda and Container Configuration

When using lambdas and containers, no special instructions are needed--the application will have a database configuration, and you would configure it to point to either the proxy or the NLB endpoint pointing to the proxy, as apppropriate.