diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..03babe4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,45 @@ +ARG DEBIAN_RELEASE=buster +FROM debian:$DEBIAN_RELEASE +LABEL maintainer="Jan Dittberner " + +ENV LC_ALL=C.UTF-8 +ENV LANG=C.UTF-8 + +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + build-essential \ + dumb-init \ + gettext \ + git \ + python3-dev \ + python3-pip \ + python3-setuptools \ + python3-virtualenv \ + python3-wheel \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/*.* + +RUN python3 -m pip install --prefix=/usr/local pipenv + +ARG GVAGID=2000 +ARG GVAUID=2000 + +ARG GVAAPP=gvaweb + +WORKDIR /srv/$GVAAPP + +COPY Pipfile Pipfile.lock /srv/$GVAAPP/ + +RUN addgroup --gid $GVAGID $GVAAPP ; \ + adduser --home /home/$GVAAPP --shell /bin/bash --uid $GVAUID --gid $GVAGID --disabled-password --gecos "User for gnuviechadmin component $GVAAPP" $GVAAPP + +USER $GVAAPP +RUN python3 -m virtualenv --python=python3 /home/$GVAAPP/$GVAAPP-venv ; \ + /home/$GVAAPP/$GVAAPP-venv/bin/python3 -m pip install -U pip ; \ + VIRTUAL_ENV=/home/$GVAAPP/$GVAAPP-venv pipenv install --deploy --ignore-pipfile --dev + +VOLUME /srv/$GVAAPP + +COPY gvaweb.sh /srv/ + +ENTRYPOINT ["dumb-init", "/srv/gvaweb.sh"] diff --git a/gvaweb.sh b/gvaweb.sh new file mode 100755 index 0000000..e08a334 --- /dev/null +++ b/gvaweb.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +. /home/gvaweb/gvaweb-venv/bin/activate +cd /srv/gvaweb/gvaweb +celery -A gvaweb worker -Q web -l info