docker-postfix/scripts/run.sh

46 lines
3.2 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
set -e
chmod +x /scripts/*.sh
. /scripts/common.sh
. /scripts/common-run.sh
2023-11-01 21:33:44 +08:00
announce_startup # Print startup banner
setup_timezone # Check if we need to configure the container timezone
check_environment_sane # Check if the the environment is sane
2023-11-01 21:33:44 +08:00
rsyslog_log_format # Setup rsyslog output format
anon_email_log # Setup email anonymizer
setup_conf # Copy over files from /etc/postfix.template to /etc/postfix, if the user mounted the folder manually
reown_folders # Make and reown /var/spool/postfix/ folders
postfix_enable_chroot # Allow Postfix to run in chroot
postfix_upgrade_default_database_type # Compatibility layer. Debian still uses 'hash:', but newer distributions use 'lmbd:'
postfix_upgrade_conf # Upgrade old coniguration, replace "hash:" and "btree:" databases to "lmdb:"
postfix_upgrade_daemon_directory # Change the 'daemon_directory' postfix configuration, if a change is detected from Alpine<->Debian/Ubuntu
postfix_disable_utf8 # Disable SMTPUTF8, because libraries (ICU) are missing in alpine
postfix_create_aliases # Update aliases database. It's not used, but postfix complains if the .db file is missing
postfix_disable_local_mail_delivery # Disable local mail delivery
postfix_disable_domain_relays # Don't relay for any domains
postfix_increase_header_size_limit # Increase the allowed header size, the default (102400) is quite smallish
postfix_restrict_message_size # Restrict the size of messages (or set them to unlimited)
postfix_reject_invalid_helos # Reject invalid HELOs
postfix_set_hostname # Set up host name
postfix_set_relay_tls_level # Set TLS level security for relays
postfix_setup_xoauth2_pre_setup # (Pre) Setup XOAUTH2 authentication
postfix_setup_relayhost # Setup a relay host, if defined
postfix_setup_xoauth2_post_setup # (Post) Setup XOAUTH2 autentication
postfix_setup_networks # Set MYNETWORKS
postfix_setup_debugging # Enable debugging, if defined
postfix_setup_sender_domains # Configure allowed sender domains
postfix_setup_masquarading # Setup masquaraded domains
postfix_setup_header_checks # Enable SMTP header checks, if defined
postfix_setup_dkim # Configure DKIM, if enabled
postfix_setup_smtpd_sasl_auth # Enable sender sasl auth, if defined
postfix_custom_commands # Apply custom postfix settings
opendkim_custom_commands # Apply custom OpenDKIM settings
postfix_open_submission_port # Enable the submission port
execute_post_init_scripts # Execute any scripts found in /docker-init.db/
unset_sensitive_variables # Remove environment variables that contains sensitive values (secrets) that are read from conf files
2023-11-01 21:33:44 +08:00
notice "Starting: ${emphasis}rsyslog${reset}, ${emphasis}crond${reset}, ${emphasis}postfix${reset}$DKIM_ENABLED"
exec supervisord -c /etc/supervisord.conf