Installing and configuring the Milter Docker image

Install and configure a Docker image with the eperi Milter App already deployed.

Procedure

  1. Log in to the eperi docker registry
    To fetch an image from the docker registry, you need to log in first.
    docker login docker.eperi.com
    Please get your credentials from eperi support beforehand.
  2. Now fetch the latest version via docker pull docker.eperi.com/eperi-milter:<version>
    Note: Replace <version> by the version you want to use (e.g. 20.13.1.0)
  3. Map the configuration

    Before starting a docker image, you should at first define a place where you can persist the log files.

    Example:

    /var/log/eperi/milter/node1/ to be mapped on /var/log/eperi/milter

  4. Create volumes
    Create the following volumes to map the external folders into the container:
    # Volume for logs /var/log/eperi/milter
    sudo mkdir -p /var/log/eperi/milter/node1
    docker volume create --driver local --opt type=none --opt device=/var/log/eperi/milter/node1 --opt o=bind milter_log_node1
    
    # Milter's out.log will be available under /var/log/eperi/milter/node1/out.log and can be monitored via
    # sudo tail -f /var/log/eperi/milter/node1/out.log                
  5. Run Docker
    Now execute docker run on the milter image by mapping the previously created folders and name the container eperimilter in detached mode.
    Note: Replace <version> by the version you want to use (e.g. 20.13.1.0)
    #Mapping ports with "-p 8280:8280"
    docker run -p 8280:8280 -v milter_log_node1:/var/log/eperi/milter --name eperimilter --rm -it \
    -e MILTER_EPERI_GATEWAY="https://yourgateway.de:8443/onASConsole/ca/default/james" \
    -e MILTER_LISTENER_CLASS="de.eperi.ca.salesforce.mail.EMailModificationServiceImpl" \
    -e MILTER_APPNAME="appname_in_apps_tab" \
    -e MILTER_OUTBOUND_HEADER_KEY="X-SFDC-LK" \
    -e MILTER_OUTBOUND_HEADER_VALUE="00D1X0000008cIe" \
    -e MILTER_EPERI_GATEWAY_TRUSTED_CERTS_BASE64="`base64 /path/to/self_signed_cert.pem`" \
    docker.eperi.com/eperi-milter:<version>

    Milter configuration options

    Parameter Default Description
    MILTER_EPERI_GATEWAY The location of your eperi sEcure Platform, please only adjust the hostname, the URI is fixed (see example above)
    MILTER_LISTENER_CLASS Listener Class for Microsoft 365 in the eperi sEcure Platform. Configure this value:

    de.eperi.ca.o365.mail.Office365PlainTextEMailModificationService

    MILTER_APPNAME For Microsoft 365 configure this value:

    ___defaultappname

    MILTER_OUTBOUND_HEADER_KEY Mail header key to detect outbound emails.

    Configure the header name defined in the previously created rule: Adding a custom header to outgoing e-mails

    MILTER_OUTBOUND_HEADER_VALUE Mail header value to detect outbound emails.

    Configure the header value defined in the previously created rule: Adding a custom header to outgoing e-mails

    MILTER_GATEWAY_TRUSTED_CERTS_BASE64 See example above
    MILTER_PORT 8280 Port that the Milter service will listen on
    MILTER_DEBUG false Logging option, boolean
    MILTER_LOGLEVEL INFO Possible values: ERROR, WARN, INFO, TRACE
    MILTER_KEEPMID false Boolean value for keeping/discarding original message IDs
    MILTER_PROXY false Boolean for using (or not using) a proxy. The proxy is configured via https.proxyHost/https.proxyPort or http.proxyHost/http.proxyPort properties
    MILTER_REMOVE_INBOUND_HEADERS A comma-separated list of inbound email header rows to be removed after the eperi Milter app has processed them.
    MILTER_REMOVE_OUTBOUND_HEADERS A comma-separated list of outbound email header rows to be removed after the eperi Milter app has processed them.
    MILTER_TOKENIZEADDRESSES false If activated, the original addresses in an email are replaced with the addresses returned by the Gateway as part of the encrypted or decrypted email. This setting is only required if you use the Microsoft Bookings app.

Results

After these steps you will have the eperi Milter App up and running inside a container.