Health Data Hub & Data Analysis Ecosystem for Rapid Epidemic Outbreak Response
Explore the docs »
View Platform
·
Report Bug
·
Request Feature
EpigraphHub is an entirely open source Data integration platform focused on Epidemiological analyses.
EpigraphHub is built on top of the industry-leading opensource BI platform Apache Superset enriched by our own analytical libraries in Python and R.
To get a feel of EpigraphHub as a user, please check it out at Epigraphhub.org.
See the open issues for a list of proposed features (and known issues).
Check our wiki for complementary informations
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. Contact us to get involved in the project and join our team on discord
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/ProposedFeature
) - Commit your Changes (
git commit -m 'Add some ProposedFeature'
) - Push to the Branch (
git push origin feature/ProposedFeature
) - Open a Pull Request
To create a new environment for EpiGraphHub, you can use it using conda or docker.
Also, ensure you have the .env
file with the correct configuration.
You can copy its structure from .env.tpl
.
If you don't have conda installed, you can install it from here. Micromamba is a miniconda version with mamba, a powerful installer that is much faster than the conda installer.
Create your new environtment running the following command:
$ mamba env create -n conda/prod.yaml
To activate your new environment with all the packages installed, run:
$ conda activate epigraphhub
The project provides three docker-compose files, where one is the base
definition (docker/compose-base.yaml
) and the others are one for
development (docker/compose-dev.yaml
) and other for production
(docker/compose-prod.yaml
). Additionally, there is a Makefile
file that provides make
targets that helps to manage the docker services:
docker-build
: builds docker imagesdocker-start
: starts docker servicesdocker-stop
: stops docker servicesdocker-restart
: restarts docker servicesdocker-logs
: shows dockerdocker-dev-prepare-db
: prepares the development version of the databasedocker-run-cron
: run the cron tasksdocker-bash
: opens the docker service bash
This make
targets runs by default docker for development. For production,
it is necessary to pass the argument ENV=prod
, for example:
make docker-build ENV=prod
A common workflow to prepare the system would be:
- Build the docker image:
$ make docker-build
- Start the services:
$ make docker-start
Before moving forward, check if the services are working properly:
$ ./docker/healthcheck.sh epigraphhub
- Now, prepare the development database (skip it for production):
$ make docker-prepare-db
The deployment is executed by Ansible and triggered by GitHub Actions. When a new release is triggered, on GitHub Actions, there is a step there that uses Ansible to connect to the EpiGraphHub server and deploy the new version.
NOTE: Currently, the deployment process is under development.
The deployment is designed in the following structure:
All the services are being migrated to docker containers. It will allows us to isolate the services and keep the host server safer.
Distributed under the MIT License. See LICENSE
for more information.
Project Link: https://github.com/thegraphnetwork/GRAPHnetEpiApp
Linked-in : https://www.linkedin.com/company/the-graph-network
TBD