You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Pierre Jaury 9fc202006c Use exec to start supervisor 9 years ago
admin Initialize the databae properly 9 years ago
config Temporarily run flask as root 9 years ago
.gitignore Remove the python cache from git 9 years ago
Dockerfile Install missing tool: sqlite3 9 years ago
README.md Add some how-to and move todos as issues 9 years ago
start.sh Use exec to start supervisor 9 years ago

README.md

Freeposte.io

Simple yet functional and full-featured mail server as a single Docker image. The idea behing Freeposte.io is identical to motivations that led to poste.io: even though it looks like a Docker anti-pattern, single upgradable image running a full-featured mail server is a truly amazing advantage for hosting mails on modern cloud services or home-brewed Docker servers.

People from poste.io did an amazing job at accomplishing this ; any company looking for a serious yet simple mail server with professional support should turn to them.

This project is meant for free software supporters and hackers to reach the same level of functionality and still be able to host a complete mail server at little cost while running only FOSS, applying the KISS principle and being able to fine-tune some details if needed.

How-to run your mail server

Please note that this image is still in a very early stage. Do not use for production!

The mail server runs as a single Docker container. A volume should be mounted to /data for persistent storage. Simply setup Docker on your server then run a container with the kaiyou/freeposte.io image:

docker run --name=freeposte -d \
 -e POSTMASTER_ADDRESS=admin@your.tld \
 -e MAIL_HOSTNAME=mail.your.tld \
 -e SECRET_KEY=yourflasksecretkey \
 -p 25:25 \
 -p 143:143 \
 -p 587:587 \
 -p 80:80 \
 -v /path/to/your/data:/data \
 kaiyou/freeposte.io

General architecture

The mail infrastructure is based on a standard MTA-LDA :

  • Postfix with an SQLite database for transport ;
  • Dovecot with an SQLite database for delivery and access ;
  • Spamassassin for spam filtering ;
  • ClamAV for malware filtering.

Additional Web UI :

  • Roundcube Webmail (can easily be replaced) ;
  • Administration UI based on Flask.

All components are monitored by supervisord.