-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Standardisation of Pretzel Deployment #377
Comments
|
Deployment
|
Simplify the installation process for self-hosting on a PC by adding a docker-compose yaml based on an existing docker-compose.yaml, with added shared volumes for VCF and blast databases, and including the python flask blastServer.py,
|
part of #377 blastServer.py : change scriptsDir to /usr/src/app for the container case; this can be passed in from the environment to support command-line use. blastn_cont.bash : change file paths for running in a container which imports just volume /mnt/data_blast/blast/ : add B_suffix re-structure conditionals -d queries and blastnIsInstalled -eq 0; retain support for ./queries (may not be required), and add support for blastDir/queries which is the case in the container. pass blastDir instead of B to sub-container and give it B_suffix/ in path of dbName. add blastServer.Dockerfile (used as starting point : bash commands from blast.md converted via ChatGPT 4o to Dockerfile format) add lb4app/lb3app/scripts/docker-compose/docker-compose.combined.yaml, based on pretzel/docker-compose.yaml with these changes : database: specify mongo image 9b5c4a4fdcb5 i.e. 4.2.24 which matches current dev db enable volumes: DATA_DIR api: environment: add : API_PORT_PROXY, EMAIL_USER, EMAIL_PASS volumes: add blast and vcf add service : blastserver
part of #377 blastServer.py : change scriptsDir to /usr/src/app for the container case; this can be passed in from the environment to support command-line use. blastn_cont.bash : change file paths for running in a container which imports just volume /mnt/data_blast/blast/ : add B_suffix re-structure conditionals -d queries and blastnIsInstalled -eq 0; retain support for ./queries (may not be required), and add support for blastDir/queries which is the case in the container. pass blastDir instead of B to sub-container and give it B_suffix/ in path of dbName. add blastServer.Dockerfile (used as starting point : bash commands from blast.md converted via ChatGPT 4o to Dockerfile format) add lb4app/lb3app/scripts/docker-compose/docker-compose.combined.yaml, based on pretzel/docker-compose.yaml with these changes : database: specify mongo image 9b5c4a4fdcb5 i.e. 4.2.24 which matches current dev db enable volumes: DATA_DIR api: environment: add : API_PORT_PROXY, EMAIL_USER, EMAIL_PASS volumes: add blast and vcf add service : blastserver (cherry picked from commit 1e0f721)
Adjust configuration for internal test serverTo generalise the docker compose yaml to additional contexts, it will be used to run the internal test server. This context is different in several ways to the web-facing AWS servers, e.g. database configuration. Also the test server is the second server on the host it is running on, so the ports for mongodb and blastserver should not confict, and ROOT_URL is used to position the server URL in a separate URL sub-directory. The servers on AWS use sub-domains instead to separate URL spaces of multiple servers on a single host, which is easy to configure in nginx and requires no special configuration in the application server. Changes RequiredI had to copy some extra binaries into the blastserver container : /usr/bin/parallel and vmtouch There were a bunch of other configurations to add / change :
Results/pretzelUpdate is now running from docker-compose, and blast works. |
Complete and used in v3.0.0 ReleaseThis work is complete and is used in the v3.0.0 release #414 . |
Pretzel is designed to be deployed in many different contexts :
The configuration requirements for each of these contexts is progressively being integrated together into a common deployment method which provides configuration to handle the variations.
This process streamlines system administration and reduces the effort of supporting multiple platforms. The focus is on making the deployment of Pretzel quick and easy to manage for staff administering the system, and enabling non-specialists to install Pretzel on their PC with minimum effort. This includes access to the connected databases such as VCF Genotypes, Blast databases, and other external systems.
The focus of this github issue is this process of standardising the deployment of Pretzel.
The text was updated successfully, but these errors were encountered: