Compare commits

...

2 commits

Author SHA1 Message Date
n8fr8
5b418add4d fix install script for madmail v0.46.0 2026-05-07 21:17:51 -04:00
n8fr8
31a915e1ad only install madmail if selected
also reinstall/config if toggled in admin
2026-05-07 21:17:36 -04:00
2 changed files with 11 additions and 7 deletions

View file

@ -270,7 +270,8 @@ def step4():
set_setting(s, setting_value)
set_setting('first_setup', "false")
dump_settings("settings.txt")
run_madmail_installer()
if get_setting("enable_deltachat") == "true":
run_madmail_installer()
db.session.commit()
return redirect(url_for('setup_complete'))
if get_setting("first_setup") == "true":
@ -312,6 +313,7 @@ def admin_settings():
print(form.errors)
if form.validate_on_submit():
if form.submit.data:
deltachat_newly_enabled = False
for s in populate_settings:
new_value = getattr(form, s).data
if s in bool_settings:
@ -325,6 +327,10 @@ def admin_settings():
non_admin_settings_changed = True
if s in CHANGES_REQUIRING_RESTART:
app.config['SETTINGS_CHANGED'] = True
if s == 'enable_deltachat' and new_value == "true":
deltachat_newly_enabled = True
if deltachat_newly_enabled:
run_madmail_installer()
new_logo = form.butterbox_logo.data
if new_logo.filename:

View file

@ -9,7 +9,7 @@ def run_madmail_installer():
butterbox_hostname = settings["butterbox_hostname"]
cmd = f"sudo ../madmail/madmail install"
child = pexpect.spawn(cmd, encoding = "utf-8")#
child = pexpect.spawnu(cmd)
child.logfile = open("install_log.txt", "w")
child.expect("Customize every setting")
child.sendline("2")
@ -27,8 +27,8 @@ def run_madmail_installer():
child.sendline("")
child.expect("TLS mode")
child.sendline("self_signed")
##child.expect("Disable TLS verification for clients")
##child.sendline("n")
child.expect("Disable TLS")
child.sendline("y")
child.expect("SMTP port")
child.sendline("25")
child.expect("Submission port")
@ -39,9 +39,7 @@ def run_madmail_installer():
child.sendline("143")
child.expect("IMAP TLS port")
child.sendline("993")
child.expect("Allow insecure")
child.sendline("n")
child.expect("Enable chatmail endpoint for user registration")
child.expect("Enable chatmail")
child.sendline("y")
child.expect("Chatmail HTTP port")
child.sendline("8081")