Run EmailEngine as a Docker container

Docker Hub

Pull EmailEngine from Docker Hub

To get started, pull the EmailEngine image from Docker Hub:

$ docker pull postalsys/emailengine:v2

EmailEngine is also available from the GitHub Container Registry.

Configure EmailEngine

You can configure EmailEngine by setting environment variables. In the example below, we set up the Redis connection URL and bind port 3000:

$ docker run -p 3000:3000 --env EENGINE_REDIS="redis://host.docker.internal:6379/7" postalsys/emailengine:v2

For more configuration options, visit the configuration documentation.

Access EmailEngine in Your Browser

After running the command above, open the following URL in your browser:

The EmailEngine Docker images support multiple architectures, so you can easily run them on Apple processors as well.

EmailEngine Tag Types

EmailEngine offers various tag types for its Docker images:

  1. latest: Corresponds to the most recent commit in the master branch. While it includes the latest features, it might be unstable.
  2. v2: Represents the latest tagged release for the v2 branch.
  3. v2.x.x: Refers to a specific tagged release.

Docker Compose

Download the example Compose file and add or edit included configuration values. Most probably, you want to remove the example webhook destination settings.

Next, start the app. The Compose file already includes a basic Redis setup, so you do not have to install or configure Redis separately.

$ docker-compose up

Open in your browser to see the UI.

Unsupported platform?

  1. Download the source code of the latest EmailEngine release.
  2. Edit Dockerfile in the root folder of the project; for example, change the base image node:lts-alpine to arm32v7/node:lts-alpine if you want to run EmailEngine on a Raspberry Pi (find the complete list of available base images here).
  3. Run a Docker build
$ docker build -t emailengine .
  1. Run the container
    $ docker run -p 3000:3000 --env EENGINE_REDIS="redis://host.docker.internal:6379/7" emailengine