Add initial Postfix Admin docs

This commit is contained in:
J0WI 2018-02-08 05:00:58 +01:00
parent 0ae2dfcd0d
commit be39946abe
7 changed files with 101 additions and 0 deletions

View File

@ -0,0 +1 @@
Postfix Admin - web based administration interface for Postfix mail servers.

72
postfixadmin/content.md Normal file
View File

@ -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).

1
postfixadmin/github-repo Normal file
View File

@ -0,0 +1 @@
https://github.com/postfixadmin/docker

1
postfixadmin/license.md Normal file
View File

@ -0,0 +1 @@
View [license information](https://github.com/postfixadmin/postfixadmin/blob/master/LICENSE.TXT) for the software contained in this image.

BIN
postfixadmin/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1 @@
[Postfix Admin](%%GITHUB-REPO%%)

25
postfixadmin/stack.yml Normal file
View File

@ -0,0 +1,25 @@
version: '3'
services:
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: notSecureChangeMe
MYSQL_DATABASE: postfixadmin
MYSQL_USER: postfixadmin
MYSQL_PASSWORD: example
postfixadmin:
depends_on:
- db
image: postfixadmin
ports:
- 8000:80
restart: always
environment:
POSTFIXADMIN_DB_TYPE: mysqli
POSTFIXADMIN_DB_HOST: db
POSTFIXADMIN_DB_USER: postfixadmin
POSTFIXADMIN_DB_NAME: postfixadmin
POSTFIXADMIN_DB_PASSWORD: example