Dockerfile 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. From ubuntu:xenial
  2. MAINTAINER Andre Peters <andre.peters@servercow.de>
  3. ENV DEBIAN_FRONTEND noninteractive
  4. ENV LC_ALL C
  5. RUN dpkg-divert --local --rename --add /sbin/initctl \
  6. && ln -sf /bin/true /sbin/initctl \
  7. && dpkg-divert --local --rename --add /usr/bin/ischroot \
  8. && ln -sf /bin/true /usr/bin/ischroot
  9. RUN apt-get update
  10. RUN apt-get -y install dovecot-common \
  11. dovecot-core \
  12. dovecot-imapd \
  13. dovecot-lmtpd \
  14. dovecot-managesieved \
  15. dovecot-sieve \
  16. dovecot-mysql \
  17. dovecot-pop3d \
  18. dovecot-dev \
  19. syslog-ng \
  20. syslog-ng-core \
  21. ca-certificates \
  22. supervisor \
  23. wget \
  24. curl \
  25. build-essential \
  26. autotools-dev \
  27. automake \
  28. libauthen-ntlm-perl \
  29. libcrypt-ssleay-perl \
  30. libdigest-hmac-perl \
  31. libfile-copy-recursive-perl \
  32. libio-compress-perl \
  33. libio-socket-inet6-perl \
  34. libio-socket-ssl-perl \
  35. libio-tee-perl \
  36. libmodule-scandeps-perl \
  37. libnet-ssleay-perl \
  38. libpar-packer-perl \
  39. libreadonly-perl \
  40. libterm-readkey-perl \
  41. libtest-pod-perl \
  42. libtest-simple-perl \
  43. libunicode-string-perl \
  44. liburi-perl \
  45. libdbi-perl \
  46. liblockfile-simple-perl \
  47. libdbd-mysql-perl \
  48. libipc-run-perl \
  49. make \
  50. cpanminus
  51. RUN sed -i -E 's/^(\s*)system\(\);/\1unix-stream("\/dev\/log");/' /etc/syslog-ng/syslog-ng.conf
  52. RUN cpanm Data::Uniqid Mail::IMAPClient String::Util
  53. RUN echo '* * * * * root /usr/local/bin/imapsync_cron.pl' > /etc/cron.d/imapsync
  54. WORKDIR /tmp
  55. RUN wget http://hg.dovecot.org/dovecot-antispam-plugin/archive/tip.tar.gz -O - | tar xvz \
  56. && cd /tmp/dovecot-antispam* \
  57. && ./autogen.sh \
  58. && ./configure --prefix=/usr \
  59. && make \
  60. && make install
  61. COPY ./imapsync /usr/local/bin/imapsync
  62. COPY ./postlogin.sh /usr/local/bin/postlogin.sh
  63. COPY ./imapsync_cron.pl /usr/local/bin/imapsync_cron.pl
  64. COPY ./rspamd-pipe /usr/local/bin/rspamd-pipe
  65. COPY ./docker-entrypoint.sh /
  66. COPY ./supervisord.conf /etc/supervisor/supervisord.conf
  67. RUN chmod +x /usr/local/bin/rspamd-pipe
  68. RUN chmod +x /usr/local/bin/imapsync_cron.pl
  69. RUN groupadd -g 5000 vmail
  70. RUN useradd -g vmail -u 5000 vmail -d /var/vmail
  71. EXPOSE 24 10001
  72. ENTRYPOINT ["/docker-entrypoint.sh"]
  73. CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
  74. RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*