Switch to python and Jinja2 for the dovecot container
parent
a11eb4ba35
commit
13b9a9207d
@ -0,0 +1,20 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import jinja2
|
||||
import os
|
||||
import socket
|
||||
import glob
|
||||
|
||||
convert = lambda src, dst: open(dst, "w").write(jinja2.Template(open(src).read()).render(**os.environ))
|
||||
|
||||
# Actual startup script
|
||||
os.environ["FRONT_ADDRESS"] = socket.gethostbyname("front")
|
||||
|
||||
for postfix_file in glob.glob("/conf/*.cf"):
|
||||
convert(postfix_file, os.path.join("/etc/postfix", os.path.basename(postfix_file)))
|
||||
|
||||
convert("/conf/rsyslog.conf", "/etc/rsyslog.conf")
|
||||
|
||||
# Run postfix
|
||||
os.system("chown -R mail:mail /mail /var/lib/dovecot")
|
||||
os.execv("/usr/sbin/dovecot" ["dovecot", "-c", "/etc/dovecot/dovecot.conf", "-F"])
|
@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Substitute configuration
|
||||
for VARIABLE in `env | cut -f1 -d=`; do
|
||||
sed -i "s={{ $VARIABLE }}=${!VARIABLE}=g" /etc/dovecot/*.conf
|
||||
done
|
||||
|
||||
# Fix permissions
|
||||
chown -R mail:mail /mail
|
||||
chown -R mail:mail /var/lib/dovecot
|
||||
|
||||
# Run dovecot
|
||||
exec /usr/sbin/dovecot -c /etc/dovecot/dovecot.conf -F
|
Loading…
Reference in New Issue