yuvipanda / tess-prototype-deploy

BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Customizing the computational environment for TESS users #8

Open arfon opened 4 years ago

arfon commented 4 years ago

:wave: @yuvipanda - @mustaric and I would like to customize the software pre-installed on the base TESS image. Should we start tweaking this file: https://github.com/yuvipanda/tess-prototype-deploy/blob/staging/deployments/tess-private/images/default/Dockerfile or is this defined somewhere else?

yuvipanda commented 4 years ago

@arfon that's exactly what you should change! The current image tries to recreate https://github.com/spacetelescope/jupyter-docker-stacks/tree/wfirst-sit/wfirst-sit with a different structure. https://github.com/yuvipanda/tess-prototype-deploy/tree/staging/deployments/tess-private/images/default/environments has the appropriate conda environment.yml files...

Making a PR here would kick off a build so we can see what's up.

yuvipanda commented 4 years ago

I think we can also simplify it a lot by removing a lot of the environments required for wfirst-sit. But I think the base structure for having multiple environments is good to keep, unless you think there will only be one environment.

/cc @cslocum whose wfirst-sit image I stole.

mustaric commented 4 years ago

Just for reference the docker image we used for the TESS data workshop is here: https://github.com/spacetelescope/jupyter-docker-stacks/blob/master/tess-workshop/Dockerfile It might help in terms of a starting place for getting the right packages installed.

arfon commented 4 years ago

Excellent, thanks @yuvipanda and @mustaric.

@yuvipanda - I'm assuming we should we start from buildpack-deps:bionic-scm as this one does.

But I think the base structure for having multiple environments is good to keep, unless you think there will only be one environment.

@mustaric - what do you think? I'm assuming a reason to do this is if there are different sets of dependencies that don't play nicely with each other?

yuvipanda commented 4 years ago

@arfon yep, I generally prefer starting from buildpack-deps (which is just a minor wrapper over ubuntu base image) than from a heavier base image, like the jupyter-stacks. This lets us keep the image size small (important for fast server starts), predictable and easy to understand.

The tess image linked doesn't have multiple environments, so could be approximated much easier. You can also just copy paste that entire dockerfile here instead, and it should 'just work'. This might be easier, and we can optimize that later.

arfon commented 4 years ago

The tess image linked doesn't have multiple environments, so could be approximated much easier. You can also just copy paste that entire dockerfile here instead, and it should 'just work'. This might be easier, and we can optimize that later.

👍got it. I'll let @mustaric take the lead here as she's the expert on what software we should make available in this environment.

mustaric commented 4 years ago

I can figure out what software packages we want installed. I've started a list somewhere. I think we will find that multiple environments will be useful in the end, so I'd hate to loose that functionality if we can help it. But maybe that's something to worry about later. I'll take a look at this at the end of the week and see if I can make headway on it.