52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
set -x
 | 
						|
 | 
						|
touch /etc/passwd
 | 
						|
adduser nobody
 | 
						|
adduser postfix
 | 
						|
adduser dovecot
 | 
						|
adduser opendkim
 | 
						|
 | 
						|
addgroup dovecot postfix
 | 
						|
addgroup opendkim postfix
 | 
						|
chown postfix:postfix "/var/mail/${MAIL_DOMAIN}"
 | 
						|
mkdir -p "/var/opendkim/keys/"
 | 
						|
chown opendkim:opendkim "/var/opendkim/keys/"
 | 
						|
chmod +x "/etc/service/postfix/run"
 | 
						|
chmod +x "/etc/service/dovecot/run"
 | 
						|
chmod +x "/etc/service/opendkim/run"
 | 
						|
chmod +x "/etc/service/rsyslog/run"
 | 
						|
chmod +x "/usr/bin/entrypoint.sh"
 | 
						|
mkdir -p "/var/mail/${MAIL_DOMAIN}/${MAIL_USER}"
 | 
						|
 | 
						|
# Config postfix
 | 
						|
sed -ri \
 | 
						|
    -e "s,%hostname%,${MAIL_DOMAIN}," \
 | 
						|
    -e "s,%domain_root%,${MAIL_DOMAIN_ROOT}," \
 | 
						|
    -e "s,%cert_file%,${SSL_CERT}," \
 | 
						|
    -e "s,%key_file%,${SSL_KEY}," \
 | 
						|
    -e "s,%postmaster_address%,${MAIL_ADDRESS}," \
 | 
						|
    /etc/postfix/main.cf /etc/dovecot/dovecot.conf /etc/mail/opendkim/TrustedHosts
 | 
						|
 | 
						|
# Prepare mail user
 | 
						|
touch /etc/mail/aliases /etc/mail/domains /etc/mail/mailboxes /etc/mail/passwd
 | 
						|
echo "${MAIL_DOMAIN} #OK" > /etc/mail/domains
 | 
						|
if ! grep -Fq 'root:' /etc/mail/aliases; then echo "root: ${MAIL_USER}" >> /etc/mail/aliases; fi
 | 
						|
echo "${MAIL_USER} ${MAIL_DOMAIN}/${MAIL_USER}/" > /etc/mail/mailboxes
 | 
						|
echo "${MAIL_USER}:${HASHED_PASSWORD}" > /etc/mail/passwd
 | 
						|
 | 
						|
# Run opendkim
 | 
						|
if [ ! -e "/var/opendkim/keys/default.private" ]
 | 
						|
then
 | 
						|
	opendkim-genkey -d "${MAIL_DOMAIN}" -D "/var/opendkim/keys/"
 | 
						|
fi
 | 
						|
 | 
						|
newaliases
 | 
						|
postmap /etc/mail/aliases /etc/mail/domains /etc/mail/mailboxes /etc/mail/passwd
 | 
						|
postfix reload
 | 
						|
dovecot
 | 
						|
 | 
						|
# # Run services
 | 
						|
# s6-svscan /etc/service
 |