Upgrade our container to 17.03

pull/2/head
Christophe Romain 7 years ago
parent c645efe129
commit e68e6d9b1a

@ -1,7 +1,7 @@
FROM alpine:3.4
FROM alpine:3.5
MAINTAINER ProcessOne <contact@process-one.net>
ENV REFRESHED_AT=2016-12-07 \
ENV REFRESHED_AT=2017-03-17 \
HOME=/home/p1 \
TERM=xterm \
LC_ALL=C.UTF-8 \
@ -10,8 +10,8 @@ ENV REFRESHED_AT=2016-12-07 \
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 && \
#RUN groupadd -r p1 --gid=999 && useradd -r -g p1 --uid=999 p1 && \
RUN addgroup p1 -g 9000 && adduser -s /bin/bash -D -G p1 p1 -u 9000 && \
#RUN groupadd -r p1 --gid=999 && useradd -r -g p1 --uid=999 p1 && \
mkdir -p ${HOME}/ejabberd \
&& mkdir ${HOME}/cfg \
&& mkdir ${HOME}/log \
@ -25,13 +25,11 @@ COPY ejabberd.yml ${HOME}/cfg/
# TODO Make it possible to define which version of Alpine we would like to use.
RUN echo \
&& echo @stable "http://dl-cdn.alpinelinux.org/alpine/v3.4/main" > /etc/apk/repositories \
&& echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
&& echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \
&& echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories && \
&& echo "http://nl.alpinelinux.org/alpine/v3.5/main" > /etc/apk/repositories \
&& echo "http://nl.alpinelinux.org/alpine/v3.5/community" >> /etc/apk/repositories && \
apk upgrade --update musl && \
apk add bash su-exec libstdc++ ncurses-libs openssl expat@stable yaml zlib && \
apk add bash su-exec libstdc++ ncurses-libs openssl expat yaml zlib sqlite && \
rm -rf /var/cache/apk/*
EXPOSE 5222 5269 5280

@ -1,6 +1,6 @@
#/bin/bash
VERSION=16.12-beta1
VERSION=17.03
GREEN='\033[0;32m'
NC='\033[0m' # No Color]]'
@ -8,20 +8,30 @@ NC='\033[0m' # No Color]]'
# TODO optional clean
# rm -rf ejbuild
echo -e "${GREEN}Pulling ejabberd build Docker image${NC}"
docker pull ejabberd/mix
#echo -e "${GREEN}Pulling ejabberd build Docker image${NC}"
#docker pull ejabberd/mix assume we build it ourself until latest image is uploaded
echo -e "${GREEN}Cloning ejabberd${NC}"
if [ ! -d ejbuild ]; then
git clone https://github.com/processone/ejabberd.git ejbuild
git clone https://github.com/processone/ejabberd.git ejbuild
fi
(cd ejbuild; git checkout $VERSION)
cat > ejbuild/vars.config <<EOF
{mysql, true}.
{pgsql, true}.
{sqlite, true}.
{zlib, true}.
{redis, true}.
{elixir, true}.
{iconv, true}.
EOF
echo -e "${GREEN}Building ejabberd release${NC}"
if [ ! -e ejabberd.tar.gz ]; then
# Copy release configuration
cp rel/*.exs ejbuild/rel/
# Force clock resync
docker run -it --rm --privileged --entrypoint="/sbin/hwclock" ejabberd/mix -s
# Force clock resync ? why ?
#docker run -it --rm --privileged --entrypoint="/sbin/hwclock" ejabberd/mix -s
# Build ejabberd and generate release
docker run -it -v $(pwd)/ejbuild:$(pwd)/ejbuild -w $(pwd)/ejbuild -e "MIX_ENV=prod" ejabberd/mix do deps.get, deps.compile, compile, release --env=prod
# Copy generated ejabberd release archive

Loading…
Cancel
Save