diff --git a/ecs/Dockerfile b/ecs/Dockerfile index fd7ed66..8068d7f 100644 --- a/ecs/Dockerfile +++ b/ecs/Dockerfile @@ -6,29 +6,38 @@ ENV TERM=xterm \ LANGUAGE=en_US.UTF-8 \ REPLACE_OS_VARS=true \ HOME=/home/ejabberd \ - VERSION=${VERSION:-latest} \ - ARCHIVE=ejabberd-${VERSION:-latest}.tar.gz + VERSION=${VERSION:-latest} LABEL maintainer="ProcessOne " \ - product="Ejabberd Community Edition" \ + product="Ejabberd Community Server" \ version=$VERSION # Create directory structure and user for ejabberd -RUN addgroup ejabberd -g 9000 && adduser -s /bin/sh -D -G ejabberd ejabberd -u 9000 \ +RUN addgroup ejabberd -g 9000 \ + && adduser -s /bin/sh -D -G ejabberd ejabberd -u 9000 \ && mkdir -p /home/ejabberd/config /home/ejabberd/db /home/ejabberd/log \ && chown -R ejabberd:ejabberd /home/ejabberd # Install required dependencies RUN apk upgrade --update musl \ - && apk add bash libstdc++ ncurses-libs openssl expat yaml zlib sqlite curl ca-certificates \ + && apk add \ + bash \ + ca-certificates \ + curl \ + expat \ + libstdc++ \ + ncurses-libs \ + openssl \ + sqlite \ + uthash \ + yaml \ + zlib \ && rm -rf /var/cache/apk/* \ && update-ca-certificates # Install ejabberd -ADD $ARCHIVE $HOME -COPY ejabberd-api $HOME/bin/ -COPY ejabberdctl $HOME/bin/ -COPY config/* $HOME/config/ -RUN chown ejabberd:ejabberd $HOME/config/* +ADD ejabberd-$VERSION.tar.gz $HOME +COPY ejabberd-api ejabberdctl $HOME/bin/ +COPY --chown=ejabberd:ejabberd config/* $HOME/config/ COPY docker-entrypoint.sh / # Setup runtime environment diff --git a/ecs/ejabberdctl b/ecs/ejabberdctl index 754b3f0..2229680 100755 --- a/ecs/ejabberdctl +++ b/ecs/ejabberdctl @@ -6,7 +6,7 @@ SMP=enable ERL_MAX_PORTS=32000 ERL_PROCESSES=250000 ERL_MAX_ETS_TABLES=1400 -FIREWALL_WINDOW="4370-4380" +FIREWALL_WINDOW="4370-4379" INET_DIST_INTERFACE="" ERLANG_NODE=ejabberd@$(hostname -s) @@ -63,13 +63,13 @@ done # define ejabberd variables if not already defined from the command line : "${ETC_DIR:="$HOME_DIR/config"}" : "${LOGS_DIR:="$HOME_DIR/log"}" +: "${SPOOL_DIR:="$HOME_DIR/db"}" : "${EJABBERD_CONFIG_PATH:="$ETC_DIR/ejabberd.yml"}" : "${EJABBERDCTL_CONFIG_PATH:="$ETC_DIR/ejabberdctl.cfg"}" [ -f "$EJABBERDCTL_CONFIG_PATH" ] && . "$EJABBERDCTL_CONFIG_PATH" [ -n "$ERLANG_NODE_ARG" ] && ERLANG_NODE="$ERLANG_NODE_ARG" [ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] && S="-s" : "${EJABBERD_LOG_PATH:="$LOGS_DIR/ejabberd.log"}" -: "${SPOOL_DIR:="$HOME_DIR/database/$ERLANG_NODE"}" # define erl parameters ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES $ERL_OPTIONS"