Docker

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: http://127.0.0.1:3000.

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 Docker Compose file and an example environment configuration file, choose either development or production.

Save the environment file as .env in the same directory as the Compose file. Then, review the file and update any configuration values as needed.

The provided Compose file already includes a basic Redis service, so you do not need to install or configure Redis separately.

Start the application:

docker-compose up

To run it in the background (recommended for production use), start it in detached mode:

docker-compose up -d

Once running, open http://127.0.0.1:3000 in your browser to access the EmailEngine 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