[DOCKER][MAIL] Moved and modified setup.sh
				
					
				
			This commit is contained in:
		@@ -1,21 +0,0 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
printf "Domain root: "
 | 
					 | 
				
			||||||
read -r domain_root
 | 
					 | 
				
			||||||
printf "Subdomain (can be empty): "
 | 
					 | 
				
			||||||
read -r sub_domain
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ -z "$sub_domain" ]
 | 
					 | 
				
			||||||
then
 | 
					 | 
				
			||||||
  domain="${domain_root}"
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
  domain="${sub_domain}.${domain_root}"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
cat > ./docker/mail/mail.env <<EOF
 | 
					 | 
				
			||||||
#!/bin/sh
 | 
					 | 
				
			||||||
DOMAINNAME=${domain_root}
 | 
					 | 
				
			||||||
MAILNAME=${domain}
 | 
					 | 
				
			||||||
SSL_CERT=/etc/letsencrypt/live/${domain_root}/fullchain.pem
 | 
					 | 
				
			||||||
SSL_KEY=/etc/letsencrypt/live/${domain_root}/privkey.pem
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
@@ -36,7 +36,7 @@ RUN \
 | 
				
			|||||||
COPY rootfs/ /
 | 
					COPY rootfs/ /
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Expose ports
 | 
					# Expose ports
 | 
				
			||||||
EXPOSE 25 143 587 993
 | 
					EXPOSE 110 143 587 993 995
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Run start script
 | 
					# Run start script
 | 
				
			||||||
ENTRYPOINT /usr/bin/start.sh
 | 
					ENTRYPOINT /usr/bin/start.sh
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,22 +0,0 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					 | 
				
			||||||
USAGE = "Usage: $0 new domain <domain_name>\n     : $0 new user <user_name> <user_password>\n     : $0 new alias <user_alias> <user_name>"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ -z "$2" ]
 | 
					 | 
				
			||||||
then
 | 
					 | 
				
			||||||
  echo "$USAGE";
 | 
					 | 
				
			||||||
  exit 1;
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ "$1" == "new" ]
 | 
					 | 
				
			||||||
then
 | 
					 | 
				
			||||||
	if [ "$2" == "domain" ]
 | 
					 | 
				
			||||||
	then
 | 
					 | 
				
			||||||
		docker exec mail new-domain "${*,3}"
 | 
					 | 
				
			||||||
	elif [ "$2" == "user" ]
 | 
					 | 
				
			||||||
	then
 | 
					 | 
				
			||||||
		docker exec mail new-user "${*,3}"
 | 
					 | 
				
			||||||
	elif [ "$2" == "alias" ]
 | 
					 | 
				
			||||||
	then
 | 
					 | 
				
			||||||
		docker exec mail new-alias "${*,3}"	
 | 
					 | 
				
			||||||
	fi	
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
@@ -8,6 +8,3 @@
 | 
				
			|||||||
172.17.0.0/16
 | 
					172.17.0.0/16
 | 
				
			||||||
fe80::/64
 | 
					fe80::/64
 | 
				
			||||||
#HOSTNAME
 | 
					#HOSTNAME
 | 
				
			||||||
 | 
					 | 
				
			||||||
#host.example.com
 | 
					 | 
				
			||||||
#192.168.1.0/24
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,18 +1,4 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					#!/bin/sh
 | 
				
			||||||
# Config postfix
 | 
					 | 
				
			||||||
postconf -e myhostname="$MAILNAME"
 | 
					 | 
				
			||||||
postconf -e mydomain="$DOMAINNAME"
 | 
					 | 
				
			||||||
postconf -e smtpd_tls_cert_file="$SSL_CERT"
 | 
					 | 
				
			||||||
postconf -e smtpd_tls_key_file="$SSL_KEY"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Config dovecot
 | 
					 | 
				
			||||||
sed -i -e "s#^\s*ssl_cert\s*=.*#ssl_cert = <$SSL_CERT#" /etc/mail/dovecot/dovecot.conf
 | 
					 | 
				
			||||||
sed -i -e "s#^\s*ssl_key\s*=.*#ssl_key = <$SSL_KEY#" /etc/mail/dovecot/dovecot.conf
 | 
					 | 
				
			||||||
sed -i -e "s#^\s*hostname\s*=.*#hostname = $MAILNAME#" /etc/mail/dovecot/dovecot.conf
 | 
					 | 
				
			||||||
sed -i -e "s#^\s*postmaster_address\s*=.*#postmaster_address = $POSTMASTER#" /etc/mail/dovecot/dovecot.conf
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Config dkim
 | 
					 | 
				
			||||||
sed -i -e "s/#HOSTNAME/$MAILNAME/" /etc/mail/opendkim/TrustedHosts
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Run openssl
 | 
					# Run openssl
 | 
				
			||||||
if [ ! -e "$SSL_CERT" ]
 | 
					if [ ! -e "$SSL_CERT" ]
 | 
				
			||||||
@@ -28,6 +14,7 @@ then
 | 
				
			|||||||
	opendkim-genkey -d "$DOMAINNAME" -D "/var/opendkim/keys"
 | 
						opendkim-genkey -d "$DOMAINNAME" -D "/var/opendkim/keys"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Prepare postfix
 | 
				
			||||||
if [ ! -d "/var/mail/$DOMAINNAME" ]
 | 
					if [ ! -d "/var/mail/$DOMAINNAME" ]
 | 
				
			||||||
then
 | 
					then
 | 
				
			||||||
	touch /etc/mail/aliases /etc/mail/domains /etc/mail/mailboxes /etc/mail/passwd
 | 
						touch /etc/mail/aliases /etc/mail/domains /etc/mail/mailboxes /etc/mail/passwd
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										37
									
								
								docker/mail/setup.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								docker/mail/setup.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					printf "Domain root: "
 | 
				
			||||||
 | 
					read -r domain_root
 | 
				
			||||||
 | 
					printf "Subdomain (can be empty): "
 | 
				
			||||||
 | 
					read -r sub_domain
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -z "$sub_domain" ]
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					  domain="${domain_root}"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  domain="${sub_domain}.${domain_root}"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cat > mail.env <<EOF
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					DOMAINNAME=${domain_root}
 | 
				
			||||||
 | 
					MAILNAME=${domain}
 | 
				
			||||||
 | 
					SSL_CERT=/etc/letsencrypt/live/${domain_root}/fullchain.pem
 | 
				
			||||||
 | 
					SSL_KEY=/etc/letsencrypt/live/${domain_root}/privkey.pem
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Config postfix
 | 
				
			||||||
 | 
					sed -i -e "s#^\s*myhostname\s*=.*#myhostname = $MAILNAME#" rootfs/etc/mail/postfix/main.cf
 | 
				
			||||||
 | 
					sed -i -e "s#^\s*mydomain\s*=.*#mydomain = $DOMAINNAME#" rootfs/etc/mail/postfix/main.cf
 | 
				
			||||||
 | 
					sed -i -e "s#^\s*smtpd_tls_cert_file\s*=.*#smtpd_tls_cert_file = $SSL_CERT#" rootfs/etc/mail/postfix/main.cf
 | 
				
			||||||
 | 
					sed -i -e "s#^\s*smtpd_tls_key_file\s*=.*#smtpd_tls_key_file = $SSL_KEY#" rootfs/etc/mail/postfix/main.cf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Config dovecot
 | 
				
			||||||
 | 
					sed -i -e "s#^\s*ssl_cert\s*=.*#ssl_cert = <$SSL_CERT#" rootfs/etc/mail/dovecot/dovecot.conf
 | 
				
			||||||
 | 
					sed -i -e "s#^\s*ssl_key\s*=.*#ssl_key = <$SSL_KEY#" rootfs/etc/mail/dovecot/dovecot.conf
 | 
				
			||||||
 | 
					sed -i -e "s#^\s*hostname\s*=.*#hostname = $MAILNAME#" rootfs/etc/mail/dovecot/dovecot.conf
 | 
				
			||||||
 | 
					sed -i -e "s#^\s*postmaster_address\s*=.*#postmaster_address = $POSTMASTER#" rootfs/etc/mail/dovecot/dovecot.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Config dkim
 | 
				
			||||||
 | 
					sed -i -e "s/#HOSTNAME/$MAILNAME/" rootfs/etc/mail/opendkim/TrustedHosts
 | 
				
			||||||
		Reference in New Issue
	
	Block a user