Merged migrate_to_alpine branch into master (issue #16)
This commit is contained in:
commit
273beb03fa
5 changed files with 15 additions and 15 deletions
15
Dockerfile
15
Dockerfile
|
@ -1,14 +1,13 @@
|
||||||
#Dockerfile for a Postfix email relay service
|
#Dockerfile for a Postfix email relay service
|
||||||
FROM centos:7
|
FROM alpine:3.13
|
||||||
MAINTAINER Juan Luis Baptiste juan.baptiste@gmail.com
|
MAINTAINER Juan Luis Baptiste juan.baptiste@gmail.com
|
||||||
|
|
||||||
RUN yum install -y epel-release && yum update -y && \
|
RUN apk update && \
|
||||||
yum install -y cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5 mailx \
|
apk add bash gawk cyrus-sasl cyrus-sasl-login cyrus-sasl-crammd5 mailx \
|
||||||
perl supervisor postfix rsyslog \
|
perl supervisor postfix rsyslog && \
|
||||||
&& rm -rf /var/cache/yum/* \
|
rm -rf /var/cache/apk/* && \
|
||||||
&& yum clean all
|
mkdir -p /var/log/supervisor/ /var/run/supervisor/ && \
|
||||||
RUN sed -i -e "s/^nodaemon=false/nodaemon=true/" /etc/supervisord.conf
|
sed -i -e 's/inet_interfaces = localhost/inet_interfaces = all/g' /etc/postfix/main.cf
|
||||||
RUN sed -i -e 's/inet_interfaces = localhost/inet_interfaces = all/g' /etc/postfix/main.cf
|
|
||||||
|
|
||||||
COPY etc/ /etc/
|
COPY etc/ /etc/
|
||||||
COPY run.sh /
|
COPY run.sh /
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
version: '2'
|
version: '2'
|
||||||
services:
|
services:
|
||||||
postfix:
|
postfix:
|
||||||
|
image: juanluisbaptiste/postfix:dev
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
|
|
|
@ -22,7 +22,7 @@ nodaemon=true ; (start in foreground if true;default false)
|
||||||
minfds=1024 ; (min. avail startup file descriptors;default 1024)
|
minfds=1024 ; (min. avail startup file descriptors;default 1024)
|
||||||
minprocs=200 ; (min. avail process descriptors;default 200)
|
minprocs=200 ; (min. avail process descriptors;default 200)
|
||||||
;umask=022 ; (process file creation umask;default 022)
|
;umask=022 ; (process file creation umask;default 022)
|
||||||
;user=chrism ; (default is current user, required if root)
|
user=root ; (default is current user, required if root)
|
||||||
;identifier=supervisor ; (supervisord identifier, default is 'supervisor')
|
;identifier=supervisor ; (supervisord identifier, default is 'supervisor')
|
||||||
;directory=/tmp ; (default is not to cd during start)
|
;directory=/tmp ; (default is not to cd during start)
|
||||||
;nocleanup=true ; (don't clean up tempfiles at start;default false)
|
;nocleanup=true ; (don't clean up tempfiles at start;default false)
|
||||||
|
|
8
run.sh
8
run.sh
|
@ -5,7 +5,7 @@
|
||||||
function add_config_value() {
|
function add_config_value() {
|
||||||
local key=${1}
|
local key=${1}
|
||||||
local value=${2}
|
local value=${2}
|
||||||
local config_file=${3:-/etc/postfix/main.cf}
|
# local config_file=${3:-/etc/postfix/main.cf}
|
||||||
[ "${key}" == "" ] && echo "ERROR: No key set !!" && exit 1
|
[ "${key}" == "" ] && echo "ERROR: No key set !!" && exit 1
|
||||||
[ "${value}" == "" ] && echo "ERROR: No value set !!" && exit 1
|
[ "${value}" == "" ] && echo "ERROR: No value set !!" && exit 1
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ if [ -n "${SMTP_PASSWORD_FILE}" ]; then [ -f "${SMTP_PASSWORD_FILE}" ] && read S
|
||||||
SMTP_PORT="${SMTP_PORT:-587}"
|
SMTP_PORT="${SMTP_PORT:-587}"
|
||||||
|
|
||||||
#Get the domain from the server host name
|
#Get the domain from the server host name
|
||||||
DOMAIN=`echo ${SERVER_HOSTNAME} |awk -F. '{$1="";OFS="." ; print $0}' | sed 's/^.//'`
|
DOMAIN=`echo ${SERVER_HOSTNAME} | awk 'BEGIN{FS=OFS="."}{print $(NF-1),$NF}'`
|
||||||
|
|
||||||
# Set needed config options
|
# Set needed config options
|
||||||
add_config_value "myhostname" ${SERVER_HOSTNAME}
|
add_config_value "myhostname" ${SERVER_HOSTNAME}
|
||||||
|
@ -34,7 +34,7 @@ add_config_value "myorigin" '$mydomain'
|
||||||
add_config_value "relayhost" "[${SMTP_SERVER}]:${SMTP_PORT}"
|
add_config_value "relayhost" "[${SMTP_SERVER}]:${SMTP_PORT}"
|
||||||
add_config_value "smtp_use_tls" "yes"
|
add_config_value "smtp_use_tls" "yes"
|
||||||
add_config_value "smtp_sasl_auth_enable" "yes"
|
add_config_value "smtp_sasl_auth_enable" "yes"
|
||||||
add_config_value "smtp_sasl_password_maps" "hash:/etc/postfix/sasl_passwd"
|
add_config_value "smtp_sasl_password_maps" "lmdb:/etc/postfix/sasl_passwd"
|
||||||
add_config_value "smtp_sasl_security_options" "noanonymous"
|
add_config_value "smtp_sasl_security_options" "noanonymous"
|
||||||
add_config_value "always_add_missing_headers" "${ALWAYS_ADD_MISSING_HEADERS:-no}"
|
add_config_value "always_add_missing_headers" "${ALWAYS_ADD_MISSING_HEADERS:-no}"
|
||||||
|
|
||||||
|
@ -86,4 +86,4 @@ fi
|
||||||
# starting services
|
# starting services
|
||||||
rm -f /var/spool/postfix/pid/master.pid
|
rm -f /var/spool/postfix/pid/master.pid
|
||||||
|
|
||||||
exec supervisord
|
exec supervisord -c /etc/supervisord.conf
|
||||||
|
|
Loading…
Reference in a new issue