52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/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
							 |