You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.6 KiB
Docker
53 lines
1.6 KiB
Docker
FROM alpine:3.7
|
|
MAINTAINER ProcessOne <contact@process-one.net>
|
|
|
|
ENV REFRESHED_AT=2017-12-22 \
|
|
HOME=/home/p1 \
|
|
TERM=xterm \
|
|
LC_ALL=C.UTF-8 \
|
|
LANG=en_US.UTF-8 \
|
|
LANGUAGE=en_US.UTF-8 \
|
|
REPLACE_OS_VARS=true
|
|
|
|
# Create directory structure and user for ejabberd
|
|
RUN addgroup p1 -g 9000 && adduser -s /bin/bash -D -G p1 p1 -u 9000 && \
|
|
mkdir -p ${HOME}/ejabberd ${HOME}/ejabberd/config ${HOME}/ejabberd/log ${HOME}/ejabberd/mnesiadb && \
|
|
chown -R p1:p1 ${HOME}
|
|
|
|
ENV P1DATA=${HOME}/ejabberd/mnesiadb \
|
|
P1LOG=${HOME}/ejabberd/log \
|
|
P1CFG=${HOME}/ejabberd/config
|
|
|
|
COPY ejabberd.yml ${HOME}/ejabberd/config/
|
|
COPY server.pem ${HOME}/ejabberd/config/
|
|
|
|
# TODO Make it possible to define which version of Alpine we would like to use.
|
|
#RUN echo "http://nl.alpinelinux.org/alpine/v3.6/main" > /etc/apk/repositories && \
|
|
# echo "http://nl.alpinelinux.org/alpine/v3.6/community" >> /etc/apk/repositories && \
|
|
RUN apk upgrade --update musl && \
|
|
apk add bash su-exec libstdc++ ncurses-libs openssl expat yaml zlib sqlite && \
|
|
apk add curl ca-certificates && update-ca-certificates && \
|
|
rm -rf /var/cache/apk/*
|
|
|
|
EXPOSE 5222 5269 5280
|
|
|
|
WORKDIR ${HOME}
|
|
|
|
COPY ejabberd.tar.gz ./
|
|
RUN tar -xzf ejabberd.tar.gz -C ${HOME}/ejabberd/ && \
|
|
chmod -R 777 ${HOME}/ejabberd && \
|
|
rm ${HOME}/ejabberd.tar.gz
|
|
|
|
# Volumes that you may want make persistent (share and backup)
|
|
VOLUME ["/home/p1/ejabberd/log/","/home/p1/ejabberd/mnesiadb/","/home/p1/ejabberd/config/"]
|
|
|
|
WORKDIR ${HOME}/ejabberd
|
|
|
|
COPY docker-entrypoint.sh /
|
|
COPY ejabberd-api ${HOME}
|
|
|
|
# CMD ./bin/ejabberd foreground
|
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
|
CMD ["ejabberd"]
|
|
|