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…
	
	Add table
		Add a link
		
	
		Reference in a new issue