forked from GNUsocial/gnu-social
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
|