vanandrew / warpkit

Python library for neuroimaging transforms.
Other
6 stars 2 forks source link

:package: Build Docker image and deploy to DockerHub #7

Closed tsalo closed 7 months ago

tsalo commented 9 months ago

Given the complicated dependency setup (C++ + Julia + Python + ROMEO) it seems like MEDIC would be useful via Docker.

vanandrew commented 9 months ago

Shouldn't be too hard to write the Dockerfile. We can use the existing github workflow as a reference: https://github.com/vanandrew/warpkit/blob/main/.github/workflows/build.yml

I'm pretty sure the only dependencies are Julia and gcc (whatever minimum version supports C++ 17). cmake is internally installed through pip.

tsalo commented 9 months ago

I'm also hopeful that this will make it easier to install MEDIC in other Docker images (esp. sdcflows!).

vanandrew commented 9 months ago

d62dea5 Adds Dockerfile and Docker Compose support

I plan to upload the image to ghcr.io once I this repo is public (there's just some licensing/IP stuff I have to verify first).

vanandrew commented 7 months ago

Repo now has a CI pipeline to push out pypi and docker releases.

I'd also like to do a conda package, but I'm less familiar with how to make those (See #6), So going to wait for someone to come along to help out with that.

Closing issue.

szreik commented 7 months ago

Any chance you could push the docker container to DockerHub?

vanandrew commented 7 months ago

It's currently up on ghcr.io, so you can pull it via: docker pull ghcr.io/vanandrew/warpkit:latest.

Is there a reason to also have it on DockerHub? I can try and set that up if there's a compelling enough reason for it.

szreik commented 7 months ago

Nevermind! I thought it had to be on dockerhub in order to pull it through singularity. It doesn't. For anyone curious you can just pull it with this command:

singularity pull docker://ghcr.io/vanandrew/warpkit:latest

Thank you for the quick response!

vanandrew commented 7 months ago

Good to know!

Let me know how it goes with singularity (or I guess the replacement apptainer). I haven't done much testing with either, so it will be good to get feedback on it.