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.
docker-ejabberd/ejabberd-base/Dockerfile

50 lines
1.4 KiB
Docker

FROM alpine:3.6
MAINTAINER ProcessOne <contact@process-one.net>
ENV REFRESHED_AT=2017-09-18 \
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}/cfg ${HOME}/log ${HOME}/db && \
chown -R p1:p1 ${HOME}
ENV P1DATA=${HOME}/db \
P1LOG=${HOME}/log
COPY ejabberd.yml ${HOME}/cfg/
# 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 && \
apk upgrade --update musl && \
apk add bash su-exec libstdc++ ncurses-libs openssl expat yaml zlib sqlite && \
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/log/", "/home/p1/db/"]
WORKDIR /home/p1/ejabberd
COPY docker-entrypoint.sh /
COPY ejabberd-api /home/p1/
# CMD ./bin/ejabberd foreground
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["ejabberd"]