Sign inSign up

jrdasm/mailserver-admin

By jrdasm

•Updated over 4 years ago

mail server admistration

Image
0

385

jrdasm/mailserver-admin repository overview

⁠mailserver-admin

This application manages domains, users and aliases of a mail server.

This has been tested with dovecot, using either mysql or postgresql database.

The main goal was to enhance/replace Jeffrey Boehm’s PHP mailserver-admin application⁠ because I didn’t want to have a mail server administration application in PHP and I wanted to have administration account per domain.

⁠Environment variables

Required:

  • DJANGO_SECRET_KEY: at least 40 characters. Should be specified for production.
  • DJANGO_DB_TYPE: postgres or mysql, default to mysql.
  • DJANGO_DB_HOST: database hostname, default to db (for use in docker-compose).
  • DJANGO_DB_PORT: database port, default to empty (default port).
  • DJANGO_DB_NAME: database name, default to mailserver.
  • DJANGO_DB_USER: database user, default to mailserver.
  • DJANGO_DB_PASSWORD: database password, default to changeme.

Optional:

  • DJANGO_DEBUG: default False. Set to True to enable debug toolbar, more logs and static files served.
  • DJANGO_LOG_LEVEL: default to WARNING (INFO if DJANGO_DEBUG).
  • DJANGO_RUNSERVER_LOG_LEVEL: default to INFO (DEBUG if DJANGO_DEBUG). Used only when run with runserver or runserver_plus.
  • DJANGO_TZ: timezone, defaut to UTC.
  • DJANGO_WEBMAIL_URL: webmail url to show in the footer, default to no link.
  • DJANGO_VENDOR_NAME: any vendor name you want to appear on the footer, default to Sources.
  • DJANGO_VENDOR_URL: any url you want to be linked to your vendor name, default to this repository url. Set to empty to disable the link.
  • DJANGO_HIDE_VERSION: default False if DJANGO_DEBUG else True. Set to True to hide the mailserver-admin version.

⁠Usage

Using docker directly:

docker run --name msa \
    -p 80:80 \
    -e DJANGO_SECRET_KEY=12345678901234567890abcdefghijklmnopqrstuvwxyz \
    -e DJANGO_DB_TYPE=mysql \
    -e DJANGO_DB_PASSWORD=pwd \
    --link yourmariadb:db \
    jrdasm/mailserver-admin:<version>
docker exec -ti msa pipenv run ./manage.py createsuperuser

Of course this is simple using docker-compose:

...
services:
    db:
        image: mariadb
        environment:
            - "MYSQL_RANDOM_ROOT_PASSWORD=yes"
            - "MYSQL_DATABASE=mailserver"
            - "MYSQL_USER=mailserver"
            - "MYSQL_PASSWORD=pwd"
    ...
    msa:
        image: jrdasm/mailserver-admin:<version>
        environment:
            - "DJANGO_SECRET_KEY=12345678901234567890abcdefghijklmnopqrstuvwxyz"
            - "DJANGO_DB_TYPE=mysql"
            - "DJANGO_DB_NAME=mailserver"
            - "DJANGO_DB_USER=mailserver"
            - "DJANGO_DB_PASSWORD=pwd"
        ports:
            - "80:80"
...
docker-compose exec msa pipenv run ./manage.py createsuperuser

Tag summary

Content type

Image

Digest

Size

318.5 MB

Last updated

over 4 years ago

docker pull jrdasm/mailserver-admin:0.12.0