bachelorthesis/Implementierung/alpine-haraka/Dockerfile

51 lines
1.4 KiB
Docker

FROM mhart/alpine-node:4
MAINTAINER Julian Ospald <hasufell@posteo.de>
ENV HARAKA_HOME /app
ENV HARAKA_LOGS /logs
ENV HARAKA_DATA /data
ENV PATH /usr/local/bin:$HARAKA_HOME/node_modules/.bin:$PATH
# node-gyp emits lots of warnings if HOME is set to /
ENV HOME /tmp
ENV HARAKA_VERSION 2.7.0
# the application is not started as this user,
# but Haraka can be configured to drop its privileges
# via smtp.ini
RUN echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" \
>> /etc/apk/repositories && \
apk --no-cache add make gcc g++ python shadow@testing && \
groupadd -r haraka && \
useradd --comment "Haraka Server User" \
--home "$HARAKA_HOME" \
--shell /bin/false \
--gid haraka \
-r \
-M \
haraka && \
npm install -g "Haraka@$HARAKA_VERSION" && \
haraka --install "$HARAKA_HOME" && \
apk --no-cache del make gcc g++ python shadow && \
rm -rf /var/cache/apk/*
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint
COPY config /app/config
COPY plugins /app/plugins
RUN chmod 0755 /usr/local/bin/docker-entrypoint
RUN mkdir -p "$HARAKA_HOME" && \
mkdir -p "$HARAKA_LOGS" && \
mkdir -p "$HARAKA_DATA" && \
chmod -R 0777 "$HARAKA_LOGS" && \
chmod -R 0777 "$HARAKA_DATA" && \
chown -R haraka:haraka "$HARAKA_HOME" "$HARAKA_LOGS" "$HARAKA_DATA"
ENV HOME "$HARAKA_HOME"
WORKDIR /app
EXPOSE 25
ENTRYPOINT ["/usr/local/bin/docker-entrypoint"]
CMD [""]