From b03969e1ebd699a37d1d24688e80eb02ef00973b Mon Sep 17 00:00:00 2001 From: ale Date: Sun, 12 Apr 2020 23:00:12 +0200 Subject: [PATCH] official images --- .env | 2 -- README.md | 8 ++++++-- docker-compose.yml | 15 +++++++-------- entrypoint.sh | 2 ++ webmail/Dockerfile | 13 ++++++++----- wildduck/Dockerfile | 22 +++++++++++----------- 6 files changed, 34 insertions(+), 28 deletions(-) delete mode 100644 .env diff --git a/.env b/.env deleted file mode 100644 index 9f06e85..0000000 --- a/.env +++ /dev/null @@ -1,2 +0,0 @@ -DOMAIN=domain.com -REVERSE_DNS=com.domain diff --git a/README.md b/README.md index 7385ef3..010458c 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,12 @@ ## Instalar - Ejecutar: `./start.sh` <dominio> - Configura los certificados en la carpeta ./secure -- Editar `.env` con el valor del dominio +- Editar `docker-compose.yml` con el valor del dominio de `DOMAIN` y `REVERSE_DNS` ## Arrancar - Instalar `docker` y `docker-compose` - Ejecutar: docker-compose up -d -- Abrir el navegador http://webmail:3000 +- Abrir el navegador http://webmail.domain.com o http://webmail:3000 ## Persistencia - Ejecutar: docker cp mongo:/data/db ./mongodb && chown -R 999.999 ./mongodb @@ -15,6 +15,10 @@ - Descomentar las lineas del archivo `docker-compose.yml` - Ejecutar: docker-compose down && docker-compose up -d +## Docker +- docker pull manalejandro/haraka-wildduck_wildduck +- docker pull manalejandro/haraka-wildduck_webmail + ### Licencia - MIT diff --git a/docker-compose.yml b/docker-compose.yml index 90cf0e7..600ca6f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,14 +1,13 @@ version: '3' services: wildduck: - build: - context: ./wildduck - args: - DOMAIN: $DOMAIN - REVERSE_DNS: $REVERSE_DNS + build: ./wildduck hostname: wildduck container_name: wildduck restart: always + environment: + - DOMAIN=domain.com + - REVERSE_DNS=com.domain entrypoint: - /bin/bash - /entrypoint.sh @@ -57,7 +56,7 @@ services: build: context: ./webmail args: - DOMAIN: $DOMAIN + - DOMAIN=domain.com hostname: webmail container_name: webmail restart: always @@ -65,8 +64,8 @@ services: - node - server.js - --config=/webmail/config/default.toml - ports: - - "3000:3000/tcp" + expose: + - 3000 depends_on: - redis - mongo diff --git a/entrypoint.sh b/entrypoint.sh index fbb6cbf..2bc41e2 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,4 +1,6 @@ #!/bin/bash +find /haraka/config /wildduck/config /wildduck-mta/config -type f -exec \ +sed -i -e "s/{{DOMAIN}}/$DOMAIN/g" -e "s/{{REVERSE_DNS}}/$REVERSE_DNS/g" {} + cd /haraka node haraka.js & cd /wildduck diff --git a/webmail/Dockerfile b/webmail/Dockerfile index b68dffa..597dd8c 100644 --- a/webmail/Dockerfile +++ b/webmail/Dockerfile @@ -1,6 +1,8 @@ -FROM node:8-slim -ARG DOMAIN -RUN apt update && apt -y install git python make +FROM node:10-slim +LABEL version=1.0.0 +LABEL description="Haraka-Wildduck Docker Mail Server" +LABEL maintainer="ale@hatthieves.es" +RUN apt update && apt -y install git python make && apt clean RUN git clone https://github.com/nodemailer/wildduck-webmail /webmail WORKDIR /webmail RUN git checkout 5c54625a8b192823184ba7f5da41f3414e76db94 @@ -8,6 +10,7 @@ COPY ./config /webmail/config COPY ./views /webmail/views RUN chown node.node -R /webmail USER node -RUN npm install +ARG DOMAIN +RUN npm i RUN npm run bowerdeps -RUN find ./config ./views -type f -exec sed -i "s/{{DOMAIN}}/$DOMAIN/g" {} + +RUN find /webmail/config /webmail/views -type f -exec sed -i "s/{{DOMAIN}}/$DOMAIN/g" {} + \ No newline at end of file diff --git a/wildduck/Dockerfile b/wildduck/Dockerfile index 97ce37e..145b22d 100644 --- a/wildduck/Dockerfile +++ b/wildduck/Dockerfile @@ -1,7 +1,8 @@ FROM node:10-slim -ARG DOMAIN -ARG REVERSE_DNS -RUN apt update && apt -y install git python make g++ libcap2-bin +LABEL version=1.0.0 +LABEL description="Haraka-Wildduck Docker Mail Server" +LABEL maintainer="ale@hatthieves.es" +RUN apt update && apt -y install git python make g++ libcap2-bin && apt clean RUN git clone https://github.com/nodemailer/wildduck /wildduck RUN git clone https://github.com/zone-eu/zone-mta-template /wildduck-mta RUN git clone https://github.com/haraka/Haraka /haraka @@ -11,14 +12,13 @@ COPY ./wildduck-mta/config /wildduck-mta/config RUN chown node.node -R /wildduck /wildduck-mta /haraka RUN setcap 'cap_net_bind_service=+ep' /usr/local/bin/node USER node +ENV DOMAIN=$DOMAIN REVERSE_DNS=$REVERSE_DNS WORKDIR /wildduck -RUN npm install --production +RUN npm i --production WORKDIR /wildduck-mta -RUN npm install --production -RUN npm install zonemta-wildduck -S -RUN npm install zonemta-limiter -S +RUN npm i --production +RUN npm i -S zonemta-wildduck +RUN npm i -S zonemta-limiter WORKDIR /haraka -RUN npm install -RUN npm install haraka-plugin-wildduck -S -RUN find ../haraka/config ../wildduck/config ../wildduck-mta/config -type f -exec sed -i "s/{{DOMAIN}}/$DOMAIN/g" {} + -RUN find ../haraka/config ../wildduck/config ../wildduck-mta/config -type f -exec sed -i "s/{{REVERSE_DNS}}/$REVERSE_DNS/g" {} + +RUN npm i +RUN npm i -S haraka-plugin-wildduck -S