mirror of
https://github.com/nodemailer/wildduck.git
synced 2025-01-08 00:48:52 +08:00
49 lines
No EOL
2 KiB
Markdown
49 lines
No EOL
2 KiB
Markdown
# Wildduck docker image
|
|
|
|
## Obtaining the Docker image
|
|
To pull the latest pre-built image of wildduck from docker hub:
|
|
|
|
```
|
|
docker pull nodemailer/wildduck
|
|
```
|
|
|
|
It is also possible to pull a specific version of wildduck by specifying the version as the image tag.
|
|
(example, for version 1.20):
|
|
```
|
|
docker pull nodemailer/wildduck:1.20
|
|
```
|
|
## Environment variables in the Docker image
|
|
The following docker env variables are available inside the container:
|
|
1. `WILDDUCK_APPDIR`: The folder where wildduck is installed inside the container
|
|
2. `WILDDUCK_CONFIG`: Path to the config file to be used with wildduck
|
|
3. `CMD_ARGS`: Any additional cmd options to pass to wildduck running inside the docker container
|
|
|
|
|
|
## Running wildduck using Docker
|
|
The image is configured to use the [default config file](https://github.com/nodemailer/wildduck/blob/master/config/default.toml)
|
|
```
|
|
docker run nodemailer/wildduck
|
|
```
|
|
This is likely to fail due to `mongodb` and `redis` not present in `localhost` inside the container. To pass custom configuration options/files to wildduck inside the docker image, the following two strategies can be used:
|
|
1. Pass `CMD_ARGS` to configure options using [wild-config](https://github.com/nodemailer/wild-config)
|
|
|
|
To set a custom `mongo` and `redis` host, and configure the `FQDN` and the domain for receiving emails:
|
|
```bash
|
|
FQDN='example.com'
|
|
MAIL_DOMAIN='mail.example.com'
|
|
docker run --env CMD_ARGS="\
|
|
--dbs.mongo=mongodb://mongo:27017/ \
|
|
--dbs.redis=redis://redis:6379/3 \
|
|
--smtp.setup.hostname=$FQDN \
|
|
--log.gelf.hostname=$FQDN \
|
|
--imap.setup.hostname=$FQDN \
|
|
--emailDomain=$MAIL_DOMAIN" \
|
|
nodemailer/wildduck
|
|
```
|
|
More details available at the [wild-config](https://github.com/nodemailer/wild-config) documentation.
|
|
2. Mount a Docker volume with a custom configuration file:
|
|
|
|
To replace the default config folder (`/wildduck/config`) inside the docker image
|
|
```bash
|
|
docker run -v '/config/from/host:/wildduck/config' nodemailer/wildduck
|
|
``` |