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