2023-10-13 21:12:56 +02:00
2023-10-13 21:12:56 +02:00
2023-10-13 21:12:56 +02:00
2023-10-13 18:36:15 +02:00

Chat Mail server configuration

This package deploys Postfix and Dovecot servers, including OpenDKIM for DKIM signing.

Postfix uses Dovecot for authentication as described in https://www.postfix.org/SASL_README.html#server_dovecot

Getting started

prepare:

pip install -e chatmail-infra

then run with pyinfra command line tool:

CHATMAIL_DOMAIN=c1.testrun.org pyinfra --ssh-user root c1.testrun.org deploy.py

Structure (wip)


# package doveauth tool and deploy chatmail server to a envvar-specified ssh-reachable host 
deploy.py 

# chatmail pyinfra deploy package 
chatmail-pyinfra 
    pyproject.toml
    chatmail/__init__ ...

    # tests against the deployed system 
    tests/test_online_test.py

# doveauth tool used by dovecot's auth mechanism on the host system 
doveauth
    README.md
    pyproject.toml
    doveauth.py
    doveauth.lua
    test_doveauth.py

# lmtp server to block (outgoing) unencrypted messages 
filtermail 
    README.md
    pyproject.toml
    .... 


# scripts for setup/development/deployment 

scripts/
    init.sh  # create venv/other perequires
    deploy.sh  # run pyinfra based deploy of everything

Dovecot/Postfix configuration

Ports

Postfix listens on ports 25 (smtp) and 587 (submission) and 465 (submissions). Dovecot listens on ports 143(imap) and 993 (imaps).

DNS

For DKIM you must add a DNS entry as in /etc/opendkim/selector.txt (where selector is the opendkim_selector configured in the chatmail inventory).

Description
Languages
Python 86%
Jinja 10%
Filebench WML 1.3%
Shell 1%
Forth 0.6%
Other 1.1%