Add Docker setup for lightweight local testing
This commit is contained in:
parent
2caf218885
commit
b72f5847da
5 changed files with 62 additions and 1 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -43,3 +43,4 @@ _build/
|
||||||
*.sqlite3
|
*.sqlite3
|
||||||
.idea/
|
.idea/
|
||||||
.vagrant/
|
.vagrant/
|
||||||
|
.env
|
||||||
|
|
51
Dockerfile
Normal file
51
Dockerfile
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
ARG DEBIAN_RELEASE=buster
|
||||||
|
FROM debian:$DEBIAN_RELEASE
|
||||||
|
LABEL maintainer="Jan Dittberner <jan@dittberner.info>"
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||||
|
libpq-dev \
|
||||||
|
&& apt-get clean \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*.*
|
||||||
|
|
||||||
|
ARG GVAGID=2000
|
||||||
|
ARG GVAUID=2000
|
||||||
|
|
||||||
|
ARG GVAAPP=gvapgsql
|
||||||
|
|
||||||
|
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 gvapgsql.sh /srv/
|
||||||
|
|
||||||
|
ENTRYPOINT ["dumb-init", "/srv/gvapgsql.sh"]
|
|
@ -1,6 +1,7 @@
|
||||||
Changelog
|
Changelog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
* :support:`-` add Docker setup for lightweight local testing
|
||||||
* :support:`-` update Vagrant setup to libvirt and Debian Buster
|
* :support:`-` update Vagrant setup to libvirt and Debian Buster
|
||||||
* :support:`-` move pgsqltasks to top level to keep the task names when
|
* :support:`-` move pgsqltasks to top level to keep the task names when
|
||||||
using Python 3
|
using Python 3
|
||||||
|
|
|
@ -21,6 +21,7 @@ import os
|
||||||
sys.path.insert(0, os.path.abspath(os.path.join('..', 'gvapgsql')))
|
sys.path.insert(0, os.path.abspath(os.path.join('..', 'gvapgsql')))
|
||||||
|
|
||||||
os.environ['GVAPGSQL_BROKER_URL'] = 'amqp://localhost'
|
os.environ['GVAPGSQL_BROKER_URL'] = 'amqp://localhost'
|
||||||
|
os.environ['GVAPGSQL_RESULTS_REDIS_URL'] = 'redis://'
|
||||||
os.environ['GVAPGSQL_DBADMIN_HOST'] = 'localhost'
|
os.environ['GVAPGSQL_DBADMIN_HOST'] = 'localhost'
|
||||||
os.environ['GVAPGSQL_DBADMIN_PORT'] = '5432'
|
os.environ['GVAPGSQL_DBADMIN_PORT'] = '5432'
|
||||||
os.environ['GVAPGSQL_DBADMIN_USER'] = 'gvapgsql'
|
os.environ['GVAPGSQL_DBADMIN_USER'] = 'gvapgsql'
|
||||||
|
@ -37,7 +38,7 @@ extensions = ['releases', 'sphinx.ext.autodoc', 'celery.contrib.sphinx']
|
||||||
|
|
||||||
# configuration for releases extension
|
# configuration for releases extension
|
||||||
releases_issue_uri = 'https://git.dittberner.info/gnuviech/gvapgsql/issues/%s'
|
releases_issue_uri = 'https://git.dittberner.info/gnuviech/gvapgsql/issues/%s'
|
||||||
releases_release_uri = 'https://git.dittberner.info/gnuviech/gvapgsql/stc/tag/%s'
|
releases_release_uri = 'https://git.dittberner.info/gnuviech/gvapgsql/src/tag/%s'
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
templates_path = ['_templates']
|
templates_path = ['_templates']
|
||||||
|
|
7
gvapgsql.sh
Executable file
7
gvapgsql.sh
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /home/gvapgsql/gvapgsql-venv/bin/activate
|
||||||
|
cd /srv/gvapgsql/gvapgsql
|
||||||
|
celery -A pgsqltasks worker -Q pgsql -l info
|
Loading…
Reference in a new issue