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 | ||||
| .idea/ | ||||
| .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 | ||||
| ========= | ||||
| 
 | ||||
| * :support:`-` add Docker setup for lightweight local testing | ||||
| * :support:`-` update Vagrant setup to libvirt and Debian Buster | ||||
| * :support:`-` move pgsqltasks to top level to keep the task names when | ||||
|   using Python 3 | ||||
|  |  | |||
|  | @ -21,6 +21,7 @@ import os | |||
| sys.path.insert(0, os.path.abspath(os.path.join('..', 'gvapgsql'))) | ||||
| 
 | ||||
| os.environ['GVAPGSQL_BROKER_URL'] = 'amqp://localhost' | ||||
| os.environ['GVAPGSQL_RESULTS_REDIS_URL'] = 'redis://' | ||||
| os.environ['GVAPGSQL_DBADMIN_HOST'] = 'localhost' | ||||
| os.environ['GVAPGSQL_DBADMIN_PORT'] = '5432' | ||||
| os.environ['GVAPGSQL_DBADMIN_USER'] = 'gvapgsql' | ||||
|  | @ -37,7 +38,7 @@ extensions = ['releases', 'sphinx.ext.autodoc', 'celery.contrib.sphinx'] | |||
| 
 | ||||
| # configuration for releases extension | ||||
| 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. | ||||
| 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…
	
	Add table
		Add a link
		
	
		Reference in a new issue