[Dovecot] sieve_before/after maps in sql, changed dict names
parent
f067a45bcb
commit
b32e5adcc5
|
@ -3,8 +3,8 @@ LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
ENV LC_ALL C
|
ENV LC_ALL C
|
||||||
ENV DOVECOT_VERSION 2.2.32
|
ENV DOVECOT_VERSION 2.2.33.2
|
||||||
ENV PIGEONHOLE_VERSION 0.4.20
|
ENV PIGEONHOLE_VERSION 0.4.21
|
||||||
|
|
||||||
RUN apt-get update && apt-get -y install \
|
RUN apt-get update && apt-get -y install \
|
||||||
automake \
|
automake \
|
||||||
|
@ -40,10 +40,11 @@ RUN apt-get update && apt-get -y install \
|
||||||
libtest-pod-perl \
|
libtest-pod-perl \
|
||||||
libtest-simple-perl \
|
libtest-simple-perl \
|
||||||
libunicode-string-perl \
|
libunicode-string-perl \
|
||||||
libproc-processtable-perl \
|
libproc-processtable-perl \
|
||||||
liburi-perl \
|
liburi-perl \
|
||||||
lzma-dev \
|
lzma-dev \
|
||||||
make \
|
make \
|
||||||
|
procps \
|
||||||
supervisor \
|
supervisor \
|
||||||
syslog-ng \
|
syslog-ng \
|
||||||
syslog-ng-core \
|
syslog-ng-core \
|
||||||
|
@ -64,7 +65,8 @@ RUN curl https://www.dovecot.org/releases/2.2/dovecot-$DOVECOT_VERSION.tar.gz |
|
||||||
&& make -j3 \
|
&& make -j3 \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& make clean \
|
&& make clean \
|
||||||
&& cd .. && rm -rf dovecot-2.2-pigeonhole-$PIGEONHOLE_VERSION
|
&& cd .. \
|
||||||
|
&& rm -rf dovecot-2.2-pigeonhole-$PIGEONHOLE_VERSION
|
||||||
|
|
||||||
RUN cpanm Data::Uniqid Mail::IMAPClient String::Util
|
RUN cpanm Data::Uniqid Mail::IMAPClient String::Util
|
||||||
RUN echo '* * * * * root /usr/local/bin/imapsync_cron.pl' > /etc/cron.d/imapsync
|
RUN echo '* * * * * root /usr/local/bin/imapsync_cron.pl' > /etc/cron.d/imapsync
|
||||||
|
@ -98,8 +100,6 @@ RUN touch /etc/default/locale
|
||||||
RUN apt-get purge -y build-essential automake autotools-dev \
|
RUN apt-get purge -y build-essential automake autotools-dev \
|
||||||
&& apt-get autoremove --purge -y
|
&& apt-get autoremove --purge -y
|
||||||
|
|
||||||
EXPOSE 24 10001
|
|
||||||
|
|
||||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|
CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ sed -i "/^\$DBNAME/c\\\$DBNAME='${DBNAME}';" /usr/local/bin/imapsync_cron.pl
|
||||||
DBPASS=$(echo ${DBPASS} | sed 's/"/\\"/g')
|
DBPASS=$(echo ${DBPASS} | sed 's/"/\\"/g')
|
||||||
|
|
||||||
# Create quota dict for Dovecot
|
# Create quota dict for Dovecot
|
||||||
cat <<EOF > /usr/local/etc/dovecot/sql/dovecot-dict-sql.conf
|
cat <<EOF > /usr/local/etc/dovecot/sql/dovecot-dict-sql-quota.conf
|
||||||
connect = "host=mysql dbname=${DBNAME} user=${DBUSER} password=${DBPASS}"
|
connect = "host=mysql dbname=${DBNAME} user=${DBUSER} password=${DBPASS}"
|
||||||
map {
|
map {
|
||||||
pattern = priv/quota/storage
|
pattern = priv/quota/storage
|
||||||
|
@ -31,8 +31,54 @@ map {
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# Create dict used for sieve pre and postfilters
|
||||||
|
cat <<EOF > /usr/local/etc/dovecot/sql/dovecot-dict-sql-sieve_before.conf
|
||||||
|
connect = "host=mysql dbname=${DBNAME} user=${DBUSER} password=${DBPASS}"
|
||||||
|
map {
|
||||||
|
pattern = priv/sieve/name/\$script_name
|
||||||
|
table = sieve_before
|
||||||
|
username_field = username
|
||||||
|
value_field = id
|
||||||
|
fields {
|
||||||
|
script_name = \$script_name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
map {
|
||||||
|
pattern = priv/sieve/data/\$id
|
||||||
|
table = sieve_before
|
||||||
|
username_field = username
|
||||||
|
value_field = script_data
|
||||||
|
fields {
|
||||||
|
id = \$id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat <<EOF > /usr/local/etc/dovecot/sql/dovecot-dict-sql-sieve_after.conf
|
||||||
|
connect = "host=mysql dbname=${DBNAME} user=${DBUSER} password=${DBPASS}"
|
||||||
|
map {
|
||||||
|
pattern = priv/sieve/name/\$script_name
|
||||||
|
table = sieve_after
|
||||||
|
username_field = username
|
||||||
|
value_field = id
|
||||||
|
fields {
|
||||||
|
script_name = \$script_name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
map {
|
||||||
|
pattern = priv/sieve/data/\$id
|
||||||
|
table = sieve_after
|
||||||
|
username_field = username
|
||||||
|
value_field = script_data
|
||||||
|
fields {
|
||||||
|
id = \$id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
|
||||||
# Create user and pass dict for Dovecot
|
# Create user and pass dict for Dovecot
|
||||||
cat <<EOF > /usr/local/etc/dovecot/sql/dovecot-mysql.conf
|
cat <<EOF > /usr/local/etc/dovecot/sql/dovecot-dict-sql-passdb.conf
|
||||||
driver = mysql
|
driver = mysql
|
||||||
connect = "host=mysql dbname=${DBNAME} user=${DBUSER} password=${DBPASS}"
|
connect = "host=mysql dbname=${DBNAME} user=${DBUSER} password=${DBPASS}"
|
||||||
default_pass_scheme = SSHA256
|
default_pass_scheme = SSHA256
|
||||||
|
|
Loading…
Reference in New Issue