diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..ddba00e --- /dev/null +++ b/.travis.yml @@ -0,0 +1,7 @@ +dist: bionic + +jobs: + include: + - stage: build docker image + script: + - bash travis_deploy.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5c16e27 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM python:2 + +RUN pip install --no-cache-dir zeroc-ice + +COPY entrypoint.sh /entrypoint.sh +COPY . /mumo + +RUN chmod +x /entrypoint.sh && \ + ln -sf /dev/stdout /mumo/mumo.log + +VOLUME ["/data"] + +WORKDIR /mumo +ENTRYPOINT [ "/entrypoint.sh" ] + +CMD ["/mumo/mumo.py", "--ini", "/data/mumo.ini"] diff --git a/README.md b/README.md index f8dfbb4..adcb4e2 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,10 @@ by mumo. Developers can focus on their specific functionality instead. ## Documentation The documentation can be found in our wiki, see https://wiki.mumble.info/wiki/Mumo. +## Docker image +An official docker image is available at https://hub.docker.com/r/mumblevoip/mumo. +ALl the documentation is inside the wiki. + ## Modules for Mumble moderator ### Included modules Currently mumo comes with the following modules: diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..e64f3fd --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env sh + +if [ ! -f /data/mumo.ini ] +then + cp /mumo/mumo.ini /data + + sed -i 's;level =.*;/level = 30;' /data/mumo.ini + + chmod a+rw /data/mumo.ini + cp -r /mumo/modules-available /data + mkdir -p /data/modules-enabled + + echo Created mumo default config data. Exiting. + exit 1 +fi + +# Conf class don't read mumo.ini everytime to check custom folder +# so we copy them ... + +cp -r /data/modules /mumo +cp -r /data/modules-available /mumo +cp -r /data/modules-enabled /mumo + +exec "$@" diff --git a/travis_deploy.sh b/travis_deploy.sh new file mode 100644 index 0000000..5d28292 --- /dev/null +++ b/travis_deploy.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then + echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin +fi + +docker build -t mumo . +docker images + +if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then + docker tag mumo $DOCKER_USERNAME/mumo + docker push $DOCKER_USERNAME/mumo +fi