Dockerfile 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. FROM debian:jessie-slim
  2. LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
  3. ARG DEBIAN_FRONTEND=noninteractive
  4. ENV LC_ALL C
  5. ENV GOSU_VERSION 1.9
  6. # Prerequisites
  7. RUN apt-get update && apt-get install -y --no-install-recommends \
  8. apt-transport-https \
  9. ca-certificates \
  10. cron \
  11. gnupg \
  12. make \
  13. mysql-client \
  14. supervisor \
  15. syslog-ng \
  16. syslog-ng-core \
  17. syslog-ng-mod-redis \
  18. tar \
  19. wget \
  20. zip \
  21. && rm -rf /var/lib/apt/lists/* \
  22. && dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" \
  23. && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \
  24. && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \
  25. && export GNUPGHOME="$(mktemp -d)" \
  26. && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
  27. && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \
  28. && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \
  29. && chmod +x /usr/local/bin/gosu \
  30. && gosu nobody true
  31. RUN mkdir /usr/share/doc/sogo \
  32. && touch /usr/share/doc/sogo/empty.sh \
  33. && apt-key adv --keyserver keys.gnupg.net --recv-key 0x810273C4 \
  34. && echo "deb http://packages.inverse.ca/SOGo/nightly/3/debian/ jessie jessie" > /etc/apt/sources.list.d/sogo.list \
  35. && apt-get update && apt-get install -y --force-yes \
  36. sogo \
  37. sogo-activesync \
  38. && rm -rf /var/lib/apt/lists/* \
  39. && echo '* * * * * sogo /usr/sbin/sogo-ealarms-notify 2>/dev/null' > /etc/cron.d/sogo \
  40. && echo '* * * * * sogo /usr/sbin/sogo-tool expire-sessions 60' >> /etc/cron.d/sogo \
  41. && echo '0 0 * * * sogo /usr/sbin/sogo-tool update-autoreply -p /etc/sogo/sieve.creds' >> /etc/cron.d/sogo \
  42. && touch /etc/default/locale
  43. COPY ./reconf-domains.sh /
  44. COPY syslog-ng.conf /etc/syslog-ng/syslog-ng.conf
  45. COPY supervisord.conf /etc/supervisor/supervisord.conf
  46. CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
  47. RUN rm -rf /tmp/* /var/tmp/*