Switch to multi-stage builder
parent
f96a6da3ae
commit
a1fd44d938
Binary file not shown.
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
ROOTDIR=/home/ejabberd
|
||||||
|
BINDIR=$ROOTDIR/bin
|
||||||
|
EMU=beam
|
||||||
|
PROGNAME=`echo $0 | sed 's/.*\\///'`
|
||||||
|
export EMU
|
||||||
|
export ROOTDIR
|
||||||
|
export BINDIR
|
||||||
|
export PROGNAME
|
||||||
|
exec "$BINDIR/erlexec" ${1+"$@"}
|
@ -1,50 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
VERSION=${1:-HEAD}
|
|
||||||
REF=$VERSION
|
|
||||||
[ "$VERSION" = "HEAD" ] && VERSION=latest
|
|
||||||
ARCHIVE=ejabberd-${VERSION}.tar.gz
|
|
||||||
|
|
||||||
GREEN='\033[0;32m'
|
|
||||||
NC='\033[0m' # No Color]]'
|
|
||||||
|
|
||||||
docker images | grep -q "ejabberd/mix" || {
|
|
||||||
echo -e "${GREEN}Pulling ejabberd build Docker image${NC}"
|
|
||||||
docker pull ejabberd/mix
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ! -d ejbuild ]; then
|
|
||||||
echo -e "${GREEN}Cloning ejabberd${NC}"
|
|
||||||
git clone https://github.com/processone/ejabberd.git ejbuild
|
|
||||||
else
|
|
||||||
echo -e "${GREEN}Fetch ejabberd${NC}"
|
|
||||||
(cd ejbuild; git checkout master && git pull)
|
|
||||||
fi
|
|
||||||
cat > ejbuild/vars.config <<EOF
|
|
||||||
{mysql, true}.
|
|
||||||
{pgsql, true}.
|
|
||||||
{sqlite, true}.
|
|
||||||
{zlib, true}.
|
|
||||||
{redis, true}.
|
|
||||||
{elixir, true}.
|
|
||||||
{iconv, true}.
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if [ ! -e ${ARCHIVE} ]; then
|
|
||||||
echo -e "${GREEN}Checkout ejabberd ${REF}${NC}"
|
|
||||||
(cd ejbuild; git checkout $REF)
|
|
||||||
echo -e "${GREEN}Building ejabberd release${NC}"
|
|
||||||
# Copy release configuration
|
|
||||||
cp rel/*.exs ejbuild/rel/
|
|
||||||
# Force clock resync ?
|
|
||||||
#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 clean, deps.get, deps.compile, compile, release.init, release --env=prod
|
|
||||||
# Copy generated ejabberd release archive
|
|
||||||
relvsn=$(grep version ejbuild/mix.exs | cut -d'"' -f2)
|
|
||||||
cp ejbuild/_build/prod/rel/ejabberd/releases/$relvsn/ejabberd.tar.gz ${ARCHIVE}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Build ejabberd base container
|
|
||||||
echo -e "${GREEN}Building ejabberd Community Edition container${NC}"
|
|
||||||
docker build --build-arg VERSION=${VERSION} -t ejabberd/ecs:${VERSION} .
|
|
@ -0,0 +1,3 @@
|
|||||||
|
{lookup,["file","native"]}.
|
||||||
|
{host,{127,0,0,1}, ["localhost","@@HOSTNAME@@"]}.
|
||||||
|
{file, resolv, "/etc/resolv.conf"}.
|
File diff suppressed because it is too large
Load Diff
@ -1,12 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
if [ "${1:0:1}" = '-' ]; then
|
|
||||||
set -- ejabberd "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
'ejabberd') exec $HOME/bin/ejabberd foreground ;;
|
|
||||||
'console') exec $HOME/bin/ejabberd console ;;
|
|
||||||
*) exit ;;
|
|
||||||
esac
|
|
@ -0,0 +1,5 @@
|
|||||||
|
{mysql, true}.
|
||||||
|
{pgsql, true}.
|
||||||
|
{sqlite, true}.
|
||||||
|
{zlib, true}.
|
||||||
|
{elixir, true}.
|
Loading…
Reference in New Issue