Fresh repository history for elektrine/elektrine-haraka hosted at https://git.elektrine.com/elektrine/elektrine-haraka.
39 lines
992 B
Bash
Executable file
39 lines
992 B
Bash
Executable file
#!/bin/sh
|
|
|
|
# Configure Haraka TLS with Caddy certificates
|
|
set -e
|
|
|
|
DOMAIN=${HARAKA_DOMAIN:-mail.example.com}
|
|
CERT_PATH="/app/ssl/cert.crt"
|
|
KEY_PATH="/app/ssl/cert.key"
|
|
|
|
echo "Setting up TLS for $DOMAIN"
|
|
|
|
# Wait for certificates
|
|
echo "Waiting for SSL certificates..."
|
|
timeout=300
|
|
elapsed=0
|
|
until [ -f "$CERT_PATH" ] && [ -f "$KEY_PATH" ]; do
|
|
if [ $elapsed -ge $timeout ]; then
|
|
echo "Timeout - running without SMTP TLS"
|
|
exit 0
|
|
fi
|
|
echo "Still waiting... ($elapsed/${timeout}s)"
|
|
sleep 5
|
|
elapsed=$((elapsed + 5))
|
|
done
|
|
|
|
echo "Certificates found, updating TLS config..."
|
|
|
|
# Write TLS config
|
|
cat > /app/config/tls.ini << EOF
|
|
[main]
|
|
key=$KEY_PATH
|
|
cert=$CERT_PATH
|
|
|
|
ciphers=ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256
|
|
requestCert=false
|
|
rejectUnauthorized=false
|
|
EOF
|
|
|
|
echo "TLS configured - SMTP encryption enabled"
|