summaryrefslogtreecommitdiffstats
path: root/docker-compose.yml (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-06-15mlmmj: Setup mailing list packageMalfurious1-0/+2
Signed-off-by: Malfurious <m@lfurio.us>
2024-06-09Create docker image and servicesMalfurious1-0/+57
As hinted by the previous commit, the mailnode system is built in a single docker image for simplicity. Defining multiple Dockerfiles would lead to many redundant tasks and be harder to maintain. So a common image for all services is built. However, the compose file spawns a unique container for each service, and communication occurs via the filesystem, through volumes. Note also that some fields in docker-compose.yml are required to be set by the end-user. The mail system is oriented around virtual users, so that nobody needs their own unix system account. However, best security practice is to create a dedicated user to own the mails - this user shouldn't be used for any other purpose. For this, the Dockerfile creates the user "vmailbox". The reason for declaring port exposure for TCP/80 is to enable automated TLS encryption with nginx-proxy-acme. This port is not actually opened by the compose file. Signed-off-by: Malfurious <m@lfurio.us>