Postfix Admin is a web based interface to configure and manage a Postfix based email server for many users. Features include support for virtual domains and aliases, quotas, and vacation/out-of-the-office messages. It requires PHP, Postfix and one of MySQL, PostgreSQL or SQLite.
%%LOGO%%
If you do not have a config.local.php, then we fall back to look for environment variables to generate one.
$ docker run -e POSTFIXADMIN_DB_TYPE=mysqli \
-e POSTFIXADMIN_DB_HOST=whatever \
-e POSTFIXADMIN_DB_USER=user \
-e POSTFIXADMIN_DB_PASSWORD=topsecret \
-e POSTFIXADMIN_DB_NAME=postfixadmin \
--name some-%%REPO%% \
%%IMAGE%%
POSTFIXADMIN_DB_TYPE can be one of :
Note: An SQLite database is not recommend but used as a fallback if you do not have a config.local.php and do not specify the above variables. Do not forget to add a volume for the SQLite path.
You can also specify a POSTFIXADMIN_SETUP_PASSWORD environment variable.
If you'd like to be able to access the instance from the host without the container's IP, standard port mappings can be used:
$ docker run -e POSTFIXADMIN_DB_TYPE=mysqli \
-e POSTFIXADMIN_DB_HOST=whatever \
-e POSTFIXADMIN_DB_USER=user \
-e POSTFIXADMIN_DB_PASSWORD=topsecret \
-e POSTFIXADMIN_DB_NAME=postfixadmin \
--name some-%%REPO%% \
-p 8080:80
%%IMAGE%%
Then, access it via http://localhost:8080 or http://host-ip:8080 in a browser.
$ docker run -v /local/path/to/config.local.php:/var/www/html/config.local.php \
--name some-%%REPO%% \
-p 8080:80 \
%%IMAGE%%
%%STACK%%
Run docker stack deploy -c stack.yml %%REPO%% (or docker-compose -f stack.yml up), wait for it to initialize completely, and visit http://swarm-ip:8080, http://localhost:8080, or http://host-ip:8080 (as appropriate).