| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 | FROM alpine:3.21LABEL maintainer="The Infrastructure Company GmbH <info@servercow.de>"# renovate: datasource=github-releases depName=tianon/gosu versioning=semver-coerced extractVersion=^(?<version>.*)$ARG GOSU_VERSION=1.16ENV LANG=C.UTF-8ENV LC_ALL=C.UTF-8# Add groups and users before installing Dovecot to not break compatibilityRUN addgroup -g 5000 vmail \  && addgroup -g 401 dovecot \  && addgroup -g 402 dovenull \  && sed -i "s/999/99/" /etc/group \  && addgroup -g 999 sogo \  && addgroup nobody sogo \  && adduser -D -u 5000 -G vmail -h /var/vmail vmail \  && adduser -D -G dovecot -u 401 -h /dev/null -s /sbin/nologin dovecot \  && adduser -D -G dovenull -u 402 -h /dev/null -s /sbin/nologin dovenull \  && apk add --no-cache --update \  bash \  bind-tools \  findutils \  envsubst \  ca-certificates \  curl \  coreutils \  jq \  lua \  lua-cjson \  lua-socket \  lua-sql-mysql \  lua5.3-sql-mysql \  icu-data-full \  mariadb-connector-c \  lua-sec \  mariadb-dev \  glib-dev \  gcompat \  mariadb-client \  perl \  perl-dev \  perl-ntlm \  perl-cgi \  perl-crypt-openssl-rsa \  perl-utils \  perl-crypt-ssleay \  perl-data-uniqid \  perl-dbd-mysql \  perl-dbi \  perl-digest-hmac \  perl-dist-checkconflicts \  perl-encode-imaputf7 \  perl-file-copy-recursive \  perl-file-tail \  perl-io-socket-inet6 \  perl-io-gzip \  perl-io-socket-ssl \  perl-io-tee \  perl-ipc-run \  perl-json-webtoken \  perl-mail-imapclient \  perl-module-implementation \  perl-module-scandeps \  perl-net-ssleay \  perl-package-stash \  perl-package-stash-xs \  perl-par-packer \  perl-parse-recdescent \  perl-lockfile-simple \  libproc2 \  perl-readonly \  perl-regexp-common \  perl-sys-meminfo \  perl-term-readkey \  perl-test-deep \  perl-test-fatal \  perl-test-mockobject \  perl-test-mock-guard \  perl-test-pod \  perl-test-requires \  perl-test-simple \  perl-test-warn \  perl-try-tiny \  perl-unicode-string \  perl-proc-processtable \  perl-app-cpanminus \  procps \  python3 py3-pip python3-dev \  py3-html2text \  linux-headers \  musl-dev \  gcc \  redis \  syslog-ng \  syslog-ng-redis \  syslog-ng-json \  supervisor \  tzdata \  wget \  dovecot \  dovecot-dev \  dovecot-lmtpd \  dovecot-lua \  dovecot-ldap \  dovecot-mysql \  dovecot-sql \  dovecot-submissiond \  dovecot-pigeonhole-plugin \  dovecot-pop3d \  dovecot-fts-flatcurve \  && arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) \  && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$arch" \  && chmod +x /usr/local/bin/gosu \  && gosu nobody trueRUN pip install  --break-system-packages \  mysql-connector-python \  jinja2 \  redis \  dnspython \  psutilCOPY data/Dockerfiles/bootstrap /bootstrapCOPY data/Dockerfiles/dovecot/trim_logs.sh /usr/local/bin/trim_logs.shCOPY data/Dockerfiles/dovecot/clean_q_aged.sh /usr/local/bin/clean_q_aged.shCOPY data/Dockerfiles/dovecot/syslog-ng.conf /etc/syslog-ng/syslog-ng.confCOPY data/Dockerfiles/dovecot/syslog-ng-redis_slave.conf /etc/syslog-ng/syslog-ng-redis_slave.confCOPY data/Dockerfiles/dovecot/imapsync /usr/local/bin/imapsyncCOPY data/Dockerfiles/dovecot/imapsync_runner.pl /usr/local/bin/imapsync_runner.plCOPY data/Dockerfiles/dovecot/report-spam.sieve /usr/lib/dovecot/sieve/report-spam.sieveCOPY data/Dockerfiles/dovecot/report-ham.sieve /usr/lib/dovecot/sieve/report-ham.sieveCOPY data/Dockerfiles/dovecot/rspamd-pipe-ham /usr/lib/dovecot/sieve/rspamd-pipe-hamCOPY data/Dockerfiles/dovecot/rspamd-pipe-spam /usr/lib/dovecot/sieve/rspamd-pipe-spamCOPY data/Dockerfiles/dovecot/sa-rules.sh /usr/local/bin/sa-rules.shCOPY data/Dockerfiles/dovecot/docker-entrypoint.sh /COPY data/Dockerfiles/dovecot/supervisord.conf /etc/supervisor/supervisord.confCOPY data/Dockerfiles/dovecot/stop-supervisor.sh /usr/local/sbin/stop-supervisor.shCOPY data/Dockerfiles/dovecot/quarantine_notify.py /usr/local/bin/quarantine_notify.pyCOPY data/Dockerfiles/dovecot/quota_notify.py /usr/local/bin/quota_notify.pyCOPY data/Dockerfiles/dovecot/repl_health.sh /usr/local/bin/repl_health.shCOPY data/Dockerfiles/dovecot/optimize-fts.sh /usr/local/bin/optimize-fts.shRUN chmod +x /docker-entrypoint.sh \  /usr/local/sbin/stop-supervisor.shCMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
 |