This PR introduces a Docker setup for gwas-sumstats-service, coupled with several bug fixes that were identified during the Docker implementation process. Key updates include:
Unpinning package versions for PyNaCl and pytest to resolve pip installation issues.
Addition of blinker 1.6.3 to the dependencies list.
Updating the .gitignore to exclude database files and build artifacts.
Introducing the CONTAINERISE environment variable for Docker-specific configurations.
Correcting JSON file count in the API by excluding 'payload.json'.
Adding celery-val, celery-db, and mongodb services in docker-compose.yaml.
Updating .dockerignore to manage the inclusion and exclusion of tests.
Implementing a local executor and Dockerfile for enhanced local debugging.
Enhancing logging and request handling for improved validation and processing.
Correcting the parsing of minimum rows in validate_study.
Why?
Implementing a Docker setup for gwas-sumstats-service is crucial for facilitating local debugging and streamlining development processes. This setup allows for a more controlled and replicable environment, making it easier to identify and fix bugs, and to test new features.
How?
The Docker setup was achieved by:
Adding Mongo and Celery instances to create a more robust and scalable environment.
Introducing necessary changes in the codebase to accommodate and leverage Docker capabilities, such as environment variable adjustments and service additions in the docker-compose.yaml file.
Refining existing code to ensure compatibility and optimal functionality within the Docker environment.
How to test?
After pulling these changes:
Rebuild the Docker images using:
docker-compose build
Launch the application with:
docker-compose up
Verify that the Flask application starts without any import errors and that it binds to the correct interface and port.
What?
This PR introduces a Docker setup for
gwas-sumstats-service
, coupled with several bug fixes that were identified during the Docker implementation process. Key updates include:.gitignore
to exclude database files and build artifacts.CONTAINERISE
environment variable for Docker-specific configurations.celery-val
,celery-db
, andmongodb
services indocker-compose.yaml
..dockerignore
to manage the inclusion and exclusion of tests.validate_study
.Why?
Implementing a Docker setup for
gwas-sumstats-service
is crucial for facilitating local debugging and streamlining development processes. This setup allows for a more controlled and replicable environment, making it easier to identify and fix bugs, and to test new features.How?
The Docker setup was achieved by:
docker-compose.yaml
file.How to test?
After pulling these changes: