jupyterhub / jupyter-remote-desktop-proxy

Run a Linux Desktop on a JupyterHub
BSD 3-Clause "New" or "Revised" License
116 stars 106 forks source link

Add images that can be used directly by end users #51

Closed yuvipanda closed 11 months ago

yuvipanda commented 1 year ago

Setting up docker images that run applications well can be a little complex, so we provide a simple base image that makes that easy. In addition, we also provide some simple derived images that have popular datascience related desktop applications set up correctly and ready to use.

The images will be published only to quay.io, to make sure people don't run into pulling limits from Dockerhub.

Base image quay.io/jupyter-remote-desktop-proxy/base

This image is based off the jupyter/minimal-notebook image maintained as part of jupyter/docker-stacks, and adds the following features:

  1. The lightweight XFCE4 desktop environment
  2. The Firefox web browser
  3. A helper script to setup .desktop files correctly, so applications can show up in the Desktop and Application launcher.
  4. A helper script to setup MIME associations correctly, so users can double click certain kinds of files and have them open in specific applications.

QGIS image quay.io/jupyter-remote-desktop-proxy/qgis

This image is based off the base image, and installs the popular QGIS application. A desktop launcher icon is provided, along with filetype associations so users can double click most files that can be opend via QGIS and they will be! Brings in https://github.com/jupyter/docker-stacks/pull/1961

Automated building

There's a build.py that automatically builds and pushes the images, dealing with dependencies as appropriate.

Thanks to @MattF-NSIDC for figuring out a lot of the qgis desktop & mime stuff.

TODO

TODO at a later time

github-actions[bot] commented 1 year ago

Binder :point_left: Launch a binder notebook on this branch for commit 1e93ab542571b5997a5965cb5763bdd7c11c2272

I will automatically update this comment whenever this PR is modified

Binder :point_left: Launch a binder notebook on this branch for commit 4513b4148d732c2e459ce4b97b7d85543fecf842

Binder :point_left: Launch a binder notebook on this branch for commit 9db1757316f05a78f100197bac1638691d218691

Binder :point_left: Launch a binder notebook on this branch for commit 660fefef50470d9286025a112595d94c5fa91244

Binder :point_left: Launch a binder notebook on this branch for commit 880077ab87ef5ec1d1984e28233cae4c9205734f

Binder :point_left: Launch a binder notebook on this branch for commit 4379b354bf0da264b64db030ebb7937b07d6fc8e

Binder :point_left: Launch a binder notebook on this branch for commit 5d781f0b4f6c66197be5e9cb8e22f5686e36fbb1

Binder :point_left: Launch a binder notebook on this branch for commit 10b5740f390d0696939c86497076371d5edbf291

Binder :point_left: Launch a binder notebook on this branch for commit 7dbf1fafc6a476dd33831508f4c20fedce5251b5

Binder :point_left: Launch a binder notebook on this branch for commit 261fa44fa4f48f73f3f3c3a5d0f9d1df53d9116d

Binder :point_left: Launch a binder notebook on this branch for commit ac05db1ab18d80190e561e778490b3427785ecad

Binder :point_left: Launch a binder notebook on this branch for commit 6963970fc9f0ac661c1380d9de67cf68f85c35a8

Binder :point_left: Launch a binder notebook on this branch for commit 28f40344fc268537152f60128486f91f1ce51e5d

Binder :point_left: Launch a binder notebook on this branch for commit c09c6aa42e4dad8ab26690e9f25510fb8871a650

Binder :point_left: Launch a binder notebook on this branch for commit 7040cfb5dd7da45c4a37834eaa01c6d707f93262

Binder :point_left: Launch a binder notebook on this branch for commit ca6f8891691f3bad2000acd11ef5b253b2babb79

Binder :point_left: Launch a binder notebook on this branch for commit fc2a1599ed578ce717afda1fbfdbd065be8c8725

Binder :point_left: Launch a binder notebook on this branch for commit e4387be85bf057669a798c4a9f37017ce739a621

Binder :point_left: Launch a binder notebook on this branch for commit 4adc96e1c8ca3cc1e71977859d9c9f3be9305cc0

Binder :point_left: Launch a binder notebook on this branch for commit 884438978690ed89e421750b3166686575bd1efc

yuvipanda commented 1 year ago

I still need to test that the .desktop associations and mime associations actually happen when used with a JupyterHub!

consideRatio commented 1 year ago

Wieeee nice work on this @yuvipanda! I opened #55 to discuss image adding policy to offload this PR from such discussion.

manics commented 1 year ago

What do you think about moving these to a separate repo? I expect jupyter-remote-desktop-proxy to have relatively few updates and releases whereas these images are likely to see more frequent updates, and will probably have a different tagging scheme to the pypi package.

yuvipanda commented 11 months ago

After reflecting on this for a while, I've written https://github.com/jupyterhub/jupyter-remote-desktop-proxy/issues/55#issuecomment-1859368976 and am going to close this PR

yuvipanda commented 11 months ago

@manics in practice that's what I think I'll end up doing :)