clinica icon indicating copy to clipboard operation
clinica copied to clipboard

Create dockerfile

Open dr-xenia opened this issue 4 years ago • 5 comments

Dear development team,

I am currently running Clinica on docker with a custom dockerfile. However, I think other researchers might benefit from an official dockerfile (similar to https://github.com/BIDS-Apps/MRtrix3_connectome etc) to avoid conflicts/ have less trouble with dependencies etc during the installation progress. Therefore if time allows you might consider creating one as well.

Thanks!

Best wishes Xenia

dr-xenia avatar Mar 25 '20 11:03 dr-xenia

Hi @dr-xenia, Thanks for sharing your experience with Clinica!

In fact, we've been experimenting with some ways to distribute Clinica using containers and Dockerfiles, there are some "legal" issues that should be handled carefully, as for example the installation/distribution of the Matlab runtime inside a container. This is currently a work in progress.

In the meanwhile, we'll be glad to know how do you use the Clinica's CLI with Docker: What kind of pipeline do you launch? Do you use the Clinica CLI inside the container or do you fix an ENTRYPOINT in your Dockerfile?

Don't hesitate to open a PR in this repository if you want to share your custom Dockerfile with the community.

-- Mauricio

mdiazmel avatar Mar 26 '20 08:03 mdiazmel

Hi Mauricio,

Good to hear from you. I have just started using Clinica two days ago and so far I have used the volume processing pipelines for the anatomical and the PET images. The anatomical one worked without a problem. For the PET one I needed to include three code lines so that it worked with SPM standalone. At the moment my custom dockerfile is kind of messy, but I might clean it up at a later timepoint to share (basically I built it with Neurodocker). I am happy to share it by email if there is interest.

Best wishes Xenia

dr-xenia avatar Mar 26 '20 15:03 dr-xenia

Dear @mdiazmel,

I think you can easily give a Dockerfile that requires different licences from the users as input Arguments as long as you do not give a docker image on the hub.

How would that break any legal agreements?

Best regards,

Dan

danieltudosiu avatar Sep 27 '22 11:09 danieltudosiu

How would that break any legal agreements?

Presence of a Dockerfile in an opensource project generally implies an official image is available somewhere like the hub, which we cannot do for legal reasons. As a result, we would expose ourselves to issue reports such as "Cannot find official Docker image for Clinica" from confused users.

I think you can easily give a Dockerfile [...]

By experience, nothing is easy nor free 😄

Providing an official Docker recipe means we could reach a new user base familiar with containers, but with the downside of increasing our support surface for which we would barely have enough time nor knowledge. Actually, we have also had enquiries about Singularity containers in the past too.

a Dockerfile that requires different licences from the users as input Arguments

This is something we don't have an expertise in for instance. Now, if you'd be interested in giving this a go, we would be happy to review your contribution 👍

ghisvail avatar Sep 27 '22 14:09 ghisvail

Presence of a Dockerfile in an opensource project generally implies an official image is available somewhere like the hub, which we cannot do for legal reasons. As a result, we would expose ourselves to issue reports such as "Cannot find official Docker image for Clinica" from confused users.

As long as you state it in the README then the problem is with the user

By experience, nothing is easy nor free 😄

Touché XD

Providing an official Docker recipe means we could reach a new user base familiar with containers, but with the downside of increasing our support surface for which we would barely have enough time nor knowledge. Actually, we have also had enquiries about Singularity containers in the past too.

Given you already have some Docker-based discussion in your issues where you have proposed some usage-specific Dockerfile (thinking about #416 specifically) I think you can create a Dockerfile and just allow the Singularity people to "translate" it

This is something we don't have an expertise in for instance. Now, if you'd be interested in giving this a go, we would be happy to review your contribution

What are the problematic licences? If it is only Matlab my group has some knowhow and I can give it a go :-?

danieltudosiu avatar Sep 27 '22 14:09 danieltudosiu