From 46a8cef009f1373eca2cbc8090b11c5a70f39aa1 Mon Sep 17 00:00:00 2001 From: Adam Hunter Date: Sun, 1 Feb 2015 22:20:53 +0800 Subject: [PATCH] initial import --- Dockerfile | 17 +++++++++++++++++ docker-entrypoint.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-entrypoint.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c857ba0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +# +FROM muccg/python-base:debian8-2.7 +MAINTAINER ccg + +RUN pip install \ + "devpi-client>=2.0.4,<2.1" \ + "devpi-server>=2.1.3,<2.2" \ + "requests>=2.5.0,<2.6" + +EXPOSE 3141 +VOLUME /data + +COPY docker-entrypoint.sh /docker-entrypoint.sh +RUN chmod +x /docker-entrypoint.sh + +ENTRYPOINT ["/docker-entrypoint.sh"] +CMD ["devpi"] diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..7aae3cc --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +function defaults { + : ${DEVPI_SERVERDIR="/data/server"} + : ${DEVPI_CLIENTDIR="/data/client"} + + echo "DEVPI_SERVERDIR is ${DEVPI_SERVERDIR}" + echo "DEVPI_CLIENTDIR is ${DEVPI_CLIENTDIR}" + + export DEVPI_SERVERDIR DEVPI_CLIENTDIR +} + +function initialise_devpi { + echo "[RUN]: Initialise devpi-server" + devpi-server --start --host 127.0.0.1 --port 3141 + devpi-server --status + devpi use http://localhost:3141 + devpi login root --password='' + devpi user -m root password="${DEVPI_PASSWORD}" + devpi index -y -c public pypi_whitelist='*' + devpi-server --stop + devpi-server --status +} + + +if [ "$1" = 'devpi' ]; then + [[ -f $DEVPI_SERVERDIR/.serverversion ]] || initialize=yes + + defaults + + if [[ $initialize = yes ]]; then + initialise_devpi + fi + + echo "[RUN]: Launching devpi-server" + devpi-server --host 0.0.0.0 --port 3141 2>&1 | tee /data/server/devpi.log + exit $? +fi + +echo "[RUN]: Builtin command not provided [devpi]" +echo "[RUN]: $@" + +exec "$@"