diff --git a/start.sh b/start.sh index fde5726..3d8aecf 100755 --- a/start.sh +++ b/start.sh @@ -1,22 +1,49 @@ #!/bin/sh +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/ -# Fix permissions inside data and create necessary directories if not already -# present +# Create necessary directories mkdir -p \ /data/mail \ /data/webmail/tmp \ /data/logs \ /data/ssl +# Create the main database if necessary +if [ ! -f /data/freeposte.db ] + sqlite3 /data/freeposte.db .databases > /dev/null +fi + +# Fixing permissions +chown mail:mail /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