From be39946abe91fb116d24d8b797c9adacfd15a851 Mon Sep 17 00:00:00 2001 From: J0WI Date: Thu, 8 Feb 2018 05:00:58 +0100 Subject: [PATCH 1/3] Add initial Postfix Admin docs --- postfixadmin/README-short.txt | 1 + postfixadmin/content.md | 72 ++++++++++++++++++++++++++++++++++ postfixadmin/github-repo | 1 + postfixadmin/license.md | 1 + postfixadmin/logo.png | Bin 0 -> 3338 bytes postfixadmin/maintainer.md | 1 + postfixadmin/stack.yml | 25 ++++++++++++ 7 files changed, 101 insertions(+) create mode 100644 postfixadmin/README-short.txt create mode 100644 postfixadmin/content.md create mode 100644 postfixadmin/github-repo create mode 100644 postfixadmin/license.md create mode 100644 postfixadmin/logo.png create mode 100644 postfixadmin/maintainer.md create mode 100644 postfixadmin/stack.yml diff --git a/postfixadmin/README-short.txt b/postfixadmin/README-short.txt new file mode 100644 index 000000000..6a67c823e --- /dev/null +++ b/postfixadmin/README-short.txt @@ -0,0 +1 @@ +Postfix Admin - web based administration interface for Postfix mail servers. diff --git a/postfixadmin/content.md b/postfixadmin/content.md new file mode 100644 index 000000000..23067af80 --- /dev/null +++ b/postfixadmin/content.md @@ -0,0 +1,72 @@ +# What is Postfix Admin? + +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%% + +# How to use this image + +## No config.local.php / no existing setup + +If you do not have a config.local.php, then we fall back to look for environment variables to generate one. + +```console +$ 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 : + +- mysqli +- pgsql +- sqlite + +Note: An SQLite database is used as a fallback if you do not have a config.local.php and do not specify the above variables. + +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: + +```console +$ 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. + +## Existing config.local.php + +```console +$ docker run --name some-%%REPO%% -p 8080:80 %%image%% +``` + +## Image Variants + +The following variants are currently provided: + +### apache + +This starts an Apache webserver with PHP, so you can use `postfixadmin` out of the box. + +### fpm-alpine + +This image has a very small footprint. It is based on Alpine Linux and starts only a PHP FPM process. Use this variant if you already have a seperate webserver. If you need more tools, that are not available on Alpine Linux, use the `fpm` image instead. + +### fpm + +This image starts only a PHP FPM container. Use this variant if you already have a seperate webserver. + +%%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). diff --git a/postfixadmin/github-repo b/postfixadmin/github-repo new file mode 100644 index 000000000..ab9cbb2a2 --- /dev/null +++ b/postfixadmin/github-repo @@ -0,0 +1 @@ +https://github.com/postfixadmin/docker diff --git a/postfixadmin/license.md b/postfixadmin/license.md new file mode 100644 index 000000000..0b543b459 --- /dev/null +++ b/postfixadmin/license.md @@ -0,0 +1 @@ +View [license information](https://github.com/postfixadmin/postfixadmin/blob/master/LICENSE.TXT) for the software contained in this image. diff --git a/postfixadmin/logo.png b/postfixadmin/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e10c3b47e52917b229379545a7b036e11d976a48 GIT binary patch literal 3338 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 Date: Fri, 4 Jan 2019 13:05:25 +0100 Subject: [PATCH 2/3] Add hint for SQLite volume --- postfixadmin/content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postfixadmin/content.md b/postfixadmin/content.md index 23067af80..46227f2f7 100644 --- a/postfixadmin/content.md +++ b/postfixadmin/content.md @@ -26,7 +26,7 @@ $ docker run -e POSTFIXADMIN_DB_TYPE=mysqli \ - pgsql - sqlite -Note: An SQLite database is used as a fallback if you do not have a config.local.php and do not specify the above variables. +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. From b2ea99b0bb4f49ff5e6155300a30b916a63f26b4 Mon Sep 17 00:00:00 2001 From: J0WI Date: Fri, 11 Jan 2019 01:21:25 +0100 Subject: [PATCH 3/3] Fix local config example --- postfixadmin/content.md | 1 + 1 file changed, 1 insertion(+) diff --git a/postfixadmin/content.md b/postfixadmin/content.md index 46227f2f7..910bc4bdc 100644 --- a/postfixadmin/content.md +++ b/postfixadmin/content.md @@ -49,6 +49,7 @@ Then, access it via `http://localhost:8080` or `http://host-ip:8080` in a browse ```console $ docker run --name some-%%REPO%% -p 8080:80 %%image%% +$ docker run --name some-%%REPO%% -v /local/path/to/config.local.php:/var/www/html/config.local.php -p 8080:80 %%IMAGE%% ``` ## Image Variants