draft init flow

This commit is contained in:
holger krekel
2023-12-09 02:07:09 +01:00
parent a4e48c9919
commit b71e24d6a1
6 changed files with 44 additions and 32 deletions

3
.gitignore vendored
View File

@@ -3,9 +3,6 @@ __pycache__/
*.py[cod] *.py[cod]
*$py.class *$py.class
*.swp *.swp
www/privacy.html*
www/index.html*
www/info.html*
*qr-*.png *qr-*.png

View File

@@ -15,26 +15,20 @@ after which the initially specified password is required for using them.
## Getting Started deploying your own chatmail instance ## Getting Started deploying your own chatmail instance
1. Prepare your local (presumably Linux) system: 1. Setup a domain with `A` and `AAAA` records for your chatmail server.
scripts/init.sh 2. Prepare your local system for deploying to $CHATMAIL_DOMAIN:
2. Setup a domain with `A` and `AAAA` records for your chatmail server. scripts/init.sh $CHATMAIL_DOMAIN
3. Set environment variable to the chatmail domain you want to setup: 3. Edit the generated `chatmail.ini` file
export CHATMAIL_DOMAIN=c1.testrun.org # replace with your host 4. Deploy chatmail services remotely:
4. Fill in privacy contact data into the `chatmail.ini` file scripts/deploy.sh chatmail.ini
5. Deploy the chat mail instance to your chatmail server: 5. Run `scripts/generate-dns-zone.sh` and
transfer the generated DNS `chatmail.zone` records to your DNS provider
scripts/deploy.sh
This script remotely sets up packages and configures the chatmail provider.
6. Run `scripts/generate-dns-zone.sh` and
transfer the generated DNS records at your DNS provider
### Home page and getting started for users ### Home page and getting started for users

View File

@@ -1,24 +1,11 @@
[params] mailname = {mailname}
# how many mails a user can send out per minute
max_user_send_per_minute = 60 max_user_send_per_minute = 60
# list of e-mail recipients for which to accept outbound un-encrypted mails
passthrough_recipients = privacy@testrun.org xstore@testrun.org passthrough_recipients = privacy@testrun.org xstore@testrun.org
# where the filtermail SMTP service listens
filtermail_smtp_port = 10080 filtermail_smtp_port = 10080
# to which port to re-inject messages after they passed filtermail
postfix_reinject_port = 10025 postfix_reinject_port = 10025
[privacy:testrun]
# the settings in this section are only applied
# if the instantiated mail domain shell-matches the 'domain' setting
domain = *.testrun.org
privacy_postal = privacy_postal =
Merlinux GmbH, Represented by the managing director H. Krekel, Merlinux GmbH, Represented by the managing director H. Krekel,
Reichgrafen Str. 20, 79102 Freiburg, Germany Reichgrafen Str. 20, 79102 Freiburg, Germany

32
defaults/chatmail.ini Normal file
View File

@@ -0,0 +1,32 @@
# mail domain (MUST be set to fully qualified chat mail domain)
domain = {mailname}
#
# If you only do private test deploys, you don't need to modify any settings below
#
# how many mails a user can send out per minute
max_user_send_per_minute = 60
# list of e-mail recipients for which to accept outbound un-encrypted mails
passthrough_recipients =
# where the filtermail SMTP service listens
filtermail_smtp_port = 10080
# postfix accepts on the localhost reinject SMTP port
postfix_reinject_port = 10025
# postal address of privacy contact
privacy_postal =
# email address of privacy contact
privacy_mail =
# postal address of the privacy data officer
privacy_pdo =
# postal address of the privacy supervisor
privacy_supervisor =

View File

@@ -4,5 +4,6 @@ echo -----------------------------------------
echo deploying to $CHATMAIL_DOMAIN echo deploying to $CHATMAIL_DOMAIN
echo ----------------------------------------- echo -----------------------------------------
venv/bin/pyinfra --ssh-user root "$CHATMAIL_DOMAIN" \ venv/bin/pyinfra --ssh-user root "$CHATMAIL_DOMAIN" \
deploy-chatmail/src/deploy_chatmail/deploy.py deploy-chatmail/src/deploy_chatmail/deploy.py run chatmail.ini

View File

@@ -6,3 +6,4 @@ pip=venv/bin/pip
$pip install pyinfra pytest build 'setuptools>=68' tox $pip install pyinfra pytest build 'setuptools>=68' tox
$pip install -e deploy-chatmail $pip install -e deploy-chatmail
$pip install -e chatmaild $pip install -e chatmaild
venv/bin/deploy-chatmail init $*