mirror of
https://github.com/nodemailer/wildduck.git
synced 2024-09-21 15:56:05 +08:00
commit
ad8a9d4338
3
.dockerignore
Normal file
3
.dockerignore
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
node_modules
|
||||||
|
Dockerfile*
|
||||||
|
docker-compose*.yml
|
15
Dockerfile
Normal file
15
Dockerfile
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
FROM node:lts-alpine
|
||||||
|
|
||||||
|
RUN apk add --no-cache make git dumb-init python
|
||||||
|
|
||||||
|
WORKDIR /wildduck
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN npm install --production
|
||||||
|
|
||||||
|
ENV WILDDUCK_APPDIR=/wildduck \
|
||||||
|
WILDDUCK_CONFIG=/wildduck/config/default.toml \
|
||||||
|
CMD_ARGS=""
|
||||||
|
|
||||||
|
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
||||||
|
CMD node ${WILDDUCK_APPDIR}/server.js --config=${WILDDUCK_CONFIG} ${CMD_ARGS}
|
24
README.md
24
README.md
|
@ -96,6 +96,30 @@ See [API Docs](https://api.wildduck.email/#api-Users-PostUser) for details about
|
||||||
|
|
||||||
Any IMAP or POP3 client will do. Use the credentials from step 4\. to log in.
|
Any IMAP or POP3 client will do. Use the credentials from step 4\. to log in.
|
||||||
|
|
||||||
|
### Docker Install
|
||||||
|
The easiest way to setup wildduck with a docker image is given below, for more documentation about configuration options in the docker image, refer to
|
||||||
|
the [wiki page on the Docker](https://github.com/nodemailer/wildduck/wiki/Docker).
|
||||||
|
|
||||||
|
|
||||||
|
A docker hub image built using the [Dockerfile](./Dockerfile) in the repo is also available
|
||||||
|
|
||||||
|
To pull the latest pre-built image of wildduck:
|
||||||
|
|
||||||
|
```
|
||||||
|
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
|
||||||
|
```
|
||||||
|
To run the docker image using the [default config](./config/default.toml), and `mongodb` and `redis` from the host machine, use:
|
||||||
|
```
|
||||||
|
docker run --network=host nodemailer/wildduck
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## Goals of the Project
|
## Goals of the Project
|
||||||
|
|
||||||
1. Build a scalable and distributed IMAP/POP3 server that uses clustered database instead of single machine file system as mail store
|
1. Build a scalable and distributed IMAP/POP3 server that uses clustered database instead of single machine file system as mail store
|
||||||
|
|
30
docker-compose.yml
Normal file
30
docker-compose.yml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
version: "3.7"
|
||||||
|
services:
|
||||||
|
wildduck:
|
||||||
|
network_mode: host
|
||||||
|
build: .
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
- "143:143"
|
||||||
|
- "110:110"
|
||||||
|
- "993:993"
|
||||||
|
- "995:995"
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
- mongo
|
||||||
|
|
||||||
|
redis:
|
||||||
|
network_mode: host
|
||||||
|
image: redis:alpine
|
||||||
|
volumes:
|
||||||
|
- /data
|
||||||
|
expose:
|
||||||
|
- 6379
|
||||||
|
mongo:
|
||||||
|
network_mode: host
|
||||||
|
image: mongo
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- /data/db
|
||||||
|
ports:
|
||||||
|
- 27017
|
Loading…
Reference in a new issue