To dockerize or not to dockerize, that's the question
vantage6 consists of several components that can be installed and run in several different ways. Which component(s) you need, and how you wish to install them, depends on your use case.
📧 Creating computation requests [client]
Creating computation requests can be done by either a researcher or an external application. The vantage6 server accepts computation requests (tasks) through HTTP requests containing a JSON body. This JSON body contains the algorithm, input and an address where the computation request should be executed. Depending on the algorithm the expected input (and the serialization) is different.
For both Python and R there is a client package available. But you can also create your custom interface in your preferred language to communicate to the API.
The current algorithms that are developed for vantage6 are language specific. I.e. in order for the algorithm to understand input, it needs to be send from a specific language. E.g. The CoxPH model is written in R and expects the input to be in RDS format. Therefore the the computation request also needs to be send from R.
💡 We are currently working on a solution that resolves this language barrier.
💁 Provide data access [node]
As a data provider for the vantage6 solution you need to install the node package. There are two flavors, Docker (preferred) or non-Docker. In any case, make sure you install the General requirements first.
🚉 Host a vantage6 server [server]
A (central) server allows parties to connect and exchange computation tasks and their results. To do this you need to install the server package. There are, just as in the case of the node, two flavors: Docker (preferred) or non-Docker. Make sure you go though the General requirements before installing the Docker or non-Docker.
Besides installing the vantage6 server you might also want to host a Docker registry. This would contain images that can be used for computations in the vantage6 solution. See Docker registry on how to setup this.