From aa2b87682fb10de2bc4503b942b89f7c442352eb Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Wed, 4 Mar 2020 17:19:14 +0100 Subject: [PATCH] Add Docker setup for lightweight local testing --- .gitignore | 1 + Dockerfile | 45 +++++++++++++++++++++++++++++++++++++++++++++ docs/changelog.rst | 4 ++++ gvafile.sh | 7 +++++++ 4 files changed, 57 insertions(+) create mode 100644 Dockerfile create mode 100755 gvafile.sh diff --git a/.gitignore b/.gitignore index 36ae448..245cdad 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ _build/ *.sqlite3 .vagrant/ .idea/ +.env diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7a82e3c --- /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=gvafile + +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 gvafile.sh /srv/ + +ENTRYPOINT ["dumb-init", "/srv/gvafile.sh"] diff --git a/docs/changelog.rst b/docs/changelog.rst index 071691b..ff1e1b2 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,11 +1,15 @@ Changelog ========= +* :support:`-` add Docker setup for lightweight local testing * :support:`-` update Vagrant setup to libvirt and Debian Buster * :support:`-` move fileservertasks to top level to keep the task names when using Python 3 * :support:`2` use Pipenv for dependency management +* :release:`0.5.1 <>` +* :bug:`-` change dependency URLs + * :release:`0.5.0 <2015-01-29>` * :feature:`-` add new task set_file_ssh_authorized_keys to add SSH keys for users diff --git a/gvafile.sh b/gvafile.sh new file mode 100755 index 0000000..b9c1c82 --- /dev/null +++ b/gvafile.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +. /home/gvafile/gvafile-venv/bin/activate +cd /srv/gvafile/gvafile +celery -A fileservertasks worker -Q file -l info