Installing with Docker

Log in to the EverTrust Docker registry:

$ docker login registry.evertrust.io

Pull the latest Horizon image:

$ docker pull registry.evertrust.io/horizon:2.2.X

The Horizon Docker image ships with sensible configuration defaults. Most can be configured by injecting environment variables when running the container, like so:

$ docker run \
    -e LICENSE="" \
    -e MONGODB_URI="" \
    -e APPLICATION_SECRET="" \
    -e HOSTS_ALLOWED.0="" \
    -e HOSTS_ALLOWED.1="" \
    -p [port]:9000 \
    registry.evertrust.io/horizon:2.2.X

Here’s a full list of environment variables used by the default config:

Variable Description

LICENSE

A valid Horizon license string, base64-encoded.

APPLICATION_SECRET

Application secret used by Horizon

MONGODB_URI

A valid MongoDB URI. See mongo_uri_config.

SSV_PASSWORD

If empty, the APPLICATION_SECRET value will be used.

HOSTS_ALLOWED

Array of hosts. Append the array index after a dot (the nth allowed host variable name would be HOSTS_ALLOWED.n).

SMTP_HOST

SMTP_PORT

SMTP_SSL

SMTP_TLS

SMTP_USER

SMTP_PASSWORD

Your license usually contains newline characters, that you must replace by '\n' when setting it through the environment.

Should you need to have full control over the config in the container, and assuming that you have a valid configuration according to the Administration Guide and have a license file, you can mount a folder containing the configuration to /horizon/etc :

$ docker run \
    -v [configurationPath]:/horizon/etc:rw \
    -p [port]:9000 \
    registry.evertrust.io/horizon:2.2.X

You need to use the configuration folder’s absolute path.

The configuration folder must contain the horizon.lic file.