Coder Social home page Coder Social logo

fenix-es / wildduck-dockerized Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nodemailer/wildduck-dockerized

0.0 0.0 0.0 81 KB

Wildduck: dockerized - ๐Ÿฆ†+๐Ÿ‹=โค

License: GNU General Public License v3.0

Shell 81.51% Dockerfile 18.49%

wildduck-dockerized's Introduction

Wildduck: dockerized - ๐Ÿฆ†+๐Ÿ‹=โค

The default docker-compose file will set up:

Service Why
WildDuck IMAP, POP3
WildDuck Webmail Webmail, creating accounts,
editing account settings
ZoneMTA Outbound smtp
Haraka Inbound smtp
Rspamd Spam filtering
Traefik Reverse proxy with automatic TLS
MongoDB Database used by most services
Redis Key-value store used by most services

For the default docker-compose file to work without any further setup, you need port 80/443 available for Traefik to get certificates. However, the compose file is not set in stone. You can remove Traefik from the equation and use your own reverse proxy (or configure the applications to handle TLS directly), remove certain services, etc.

No STARTTLS support, only SSL/TLS.

Set up Docker

Install Docker:

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sh get-docker.sh

Install docker-compose

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

Deploy Wildduck: dockerized

Create a new directory and run the setup docker image. The image only copies the default config folder, .env, docker-compose.yml, and edits them for your domain. It does not install anything on the host system.

The setup image takes 1-2 arguments. The domain for your email (e.g example.com), and the hostname where your mail server will be (e.g mail.example.com). They can be the same host, if you host your website on the same server for example.

$ mkdir wildduck-dockerized
$ cd wildduck-dockerized
$ docker run --rm -v "${PWD}:/wildduck-dockerized" nodemailer/wildduck-dockerized-setup:1.0.2 domainname [hostname]

Optionally set your contact address in the .env file for lets encrypt expiry notices:

# Used as the lets encrypt contact address for expiry notices: https://letsencrypt.org/docs/expiration-emails/
[email protected]

Deploy using docker-compose:

$ docker-compose up -d

Custom configuration

Configuration files for all services reside in ./config. Alter them in whichever way you want, and restart the service in question.

wildduck-dockerized's People

Contributors

louis-lau avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.