Webapp to manage mail server domains, users and aliases.
Project description
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
ormysql
, default tomysql
.DJANGO_DB_HOST
: database hostname, default todb
(for use in docker-compose).DJANGO_DB_PORT
: database port, default to empty (default port).DJANGO_DB_NAME
: database name, default tomailserver
.DJANGO_DB_USER
: database user, default tomailserver
.DJANGO_DB_PASSWORD
: database password, default tochangeme
.
Optional:
DJANGO_DEBUG
: defaultFalse
. Set toTrue
to enable debug toolbar, more logs and static files served.DJANGO_LOG_LEVEL
: default toWARNING
(INFO
ifDJANGO_DEBUG
).DJANGO_RUNSERVER_LOG_LEVEL
: default toINFO
(DEBUG
ifDJANGO_DEBUG
). Used only when run withrunserver
orrunserver_plus
.DJANGO_TZ
: timezone, defaut toUTC
.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
: defaultFalse
ifDJANGO_DEBUG
elseTrue
. Set toTrue
to hide themailserver-admin
version.
Install from PyPi
VirtualEnv and Dependencies
Minium python version is 3.9.
Use:
pipenv install mailserver-admin
to install it without any database backend.
If you want to install the mysql
or postgresql
database backend alongside, use for instance:
pipenv install mailserver-admin[mysql]
Configuration
Define the required environment variables then:
export DJANGO_SETTINGS_MODULE=mailserveradmin.config.settings
pipenv run django migrate
pipenv run django createsuperuser
TODO
You can now server the application using any WSGI server pointing to $(VISUAL='readlink -f' pipenv open mailserveradmin|tail -n1)/config/wsgi.py
.
Don’t forget to also serve static ressources located at $(VISUAL='readlink -f' pipenv open mailserveradmin|tail -n1)/to_serve
folder.
You can of course make symlinks to those locations to simplify configuration.
Install from sources
VirtualEnv and Dependencies
Use:
pipenv sync -d
to install dependencies. Default python version is 3.9.
Installation
You should also install a database driver, either mysqlclient
or psycopg2-binary
:
pipenv run pip install mysqlclient
Configuration
Define the required environment variables then:
pipenv run ./manage.py migrate
pipenv run ./manage.py createsuperuser
pipenv run ./manage.py collectstatic
You can now server the application using any WSGI server pointing to the config/wsgi.py
file.
Don’t forget to also serve the static/
folder.
Alternatively, you can test the application with pipenv run ./manage.py runserver_plus
but this should only be used for testing/development.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mailserver-admin-0.9.0.tar.gz
.
File metadata
- Download URL: mailserver-admin-0.9.0.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd8c287c0be723878fcd2adeddf7bfcf4f520e8a458eead713ffc56a4535a17f |
|
MD5 | 5aa63fca07d64c7ed7c7cc595ce3bb9a |
|
BLAKE2b-256 | a253b08e0a3e5aa541da98786449fe4841e73d5efa17ed6e90d0d4db13459d57 |
File details
Details for the file mailserver_admin-0.9.0-py3-none-any.whl
.
File metadata
- Download URL: mailserver_admin-0.9.0-py3-none-any.whl
- Upload date:
- Size: 1.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 440b1c02dff10ab06837d459bffbf5a0c8a60907812f5a8dbb3e0c5f528620de |
|
MD5 | 7793f73b0d2b7bf6650a50c2a6760ceb |
|
BLAKE2b-256 | 3594d00904b91d8b442da683fa6f2b23ce8e884297615a332f5ae099a1d87442 |