You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mailu/start.sh

57 lines
1.7 KiB
Bash

#!/bin/bash
cat << EOF
__ _ _
/ _| | | (_)
| |_ _ __ ___ ___ _ __ ___ ___| |_ ___ _ ___
| _| '__/ _ \\/ _ \\ '_ \\ / _ \\/ __| __/ _ \\ | |/ _ \\
| | | | | __/ __/ |_) | (_) \\__ \\ || __/_| | (_)|
|_| |_| \\___|\\___| .__/ \\___/|___/\\__\\___(_)_|\\___/
| |
|_|
For documentation, please visit https://freeposte.io
EOF
# When postfix is installed non-interactively, the file does not get copied to
# the postfix chroot, thus causing smtpd to fail, fix this at runtime
cp /etc/services /var/spool/postfix/etc/
# Create necessary directories
mkdir -p \
/data/mail \
/data/webmail/tmp \
/data/logs \
/data/logs/webmail \
/data/ssl
# Create the main database if necessary
if [ ! -f /data/freeposte.db ]; then
echo 'Initializing the database...'
cd /admin && python initdb.py
fi
# Fixing permissions
chown www-data:mail /data/freeposte.db
chmod 664 /data/freeposte.db
chown -R mail:mail /data/mail
chown -R www-data:www-data /data/webmail /data/logs/webmail
# Copy the system snakeoil certificate if none is provided
if [ ! -f /data/ssl/cert.pem ]; then
cat << EOF
No TLS certificate is installed, a snakeoil ceritifcate is thus
being configured. You MUST NOT run a production server with this
certificate, as the private key is known publicly.
You have been warned.
EOF
cp /etc/ssl/private/ssl-cert-snakeoil.key /data/ssl/key.pem
cp /etc/ssl/certs/ssl-cert-snakeoil.pem /data/ssl/cert.pem
fi
# Finally run the server
echo "Supervisor will now take over..."
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf