Docker image for SimpleLogin [A]ll [I]n [O]ne
This docker image contains all the services needed to run SimpleLogin. It bundles the following parts:
- postfix
- web app
- email handler
- job runner
Note: you still need a postgresql database to run SimpleLogin. You can use the official postgresql docker image which is used in the docker-compose example file. For more information, see the Usage section.
The following general requirements are needed for running SimpleLogin:
- domain name
- access to dns entries for this domain
- tsl cert for the domain
- public ip address
- open port 25
In addition, the following minimum system requirements are required:
- 1 core
- min. 512MB free RAM
- docker
Download the sample docker-compose file and get the two environment files db.env and simplelogin.env. You need a TSL certificate and key file for the web app. Now adjust the environment files to your needs and start everything with:
Note: before you start the docker compose stack, please make sure you configured all required E-Mail parts. For more information, see the Configuration section.
docker-compose up -d
The file simplelogin.env contains the two environment variables TLS_CERT_FILE
and TLS_CERT_KEY
,
which must be defined in advance so that postfix can use TSL encryption.
By default, the image uses in the postifx configuration the two
blocklists zen.spamhaus.org
and bl.spamcop.net. You can adjust the postfix configuration by mounting your own
main.cf
file to /etc/postfix/main.cf
, e.g.:
services:
simplelogin:
...
volumes:
- ./main.cf:/etc/postfix/main.cf
...
Before you start you have to setup a DKIM, MX, SPF and DMARC record for your domain. Please follow the instructions in the official simplelogin documentation.
If you are using a Letsencrypt certificate, the path to the cert and key file for the environment
variables TLS_CERT_FILE
and TLS_CERT_KEY
looks like this:
TLS_CERT_FILE=/path/to/letsencrypt/live/example.com/fullchain.pem
TLS_CERT_KEY=/path/to/letsencrypt/live/example.com/privkey.pem
The following changes were made to the original SimpleLogin image:
- the default nameserver in the simplelogin.env file was changed from
1.1.1.1
to9.9.9.9
- images are build for amd64 and arm64 instead of only amd64
- base image uses alpine
- reduced image size by 75% (440MB vs 1.73GB from
app-ci:v4.36.4
image)
The image version is the same as the SimpleLogin version. The image version is suffixed with a release number, e.g.
1.0.0-1
means that the image is based on SimpleLogin 1.0.0
and it is the first release of the image.
The following tags are available:
v*
: tagged versionlatest
: equal to latest tagged versionnightly
: build every 3 day from the master branch of the SimpleLogin git repodev
: build for each change on the dev branch
Note: the nightly
and dev
tags are not intended for productive use
This project is licensed under the AGPLv3 license - see the License file for details.
Furthermore, this project uses the SimpleLogin project, you can find the original AGPLv3 license here.
This project is not associated with the SimpleLogin project nor SimpleLogin SAS.
If you like SimpleLogin, please consider supporting the original project here.