Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. JupyterHub
  3. Enabling Real Time Collaboration

Enabling Real Time Collaboration

Scheduled Pinned Locked Moved JupyterHub
12 Posts 4 Posters 2.4k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C Offline
      C Offline
      Camille
      wrote on last edited by
      #1

      Hi,

      How can I enable real time collaboration in JupyterHub?
      The doc (https://jupyterlab.readthedocs.io/en/stable/user/rtc.html) says

      Editors are not collaborative by default; to activate it, start JupyterLab with the --collaborative flag.

      How can I do that in a Cloudron env?
      Thanks,
      Camille

      jdaviescoatesJ 1 Reply Last reply
      0
      • C Camille

        Hi,

        How can I enable real time collaboration in JupyterHub?
        The doc (https://jupyterlab.readthedocs.io/en/stable/user/rtc.html) says

        Editors are not collaborative by default; to activate it, start JupyterLab with the --collaborative flag.

        How can I do that in a Cloudron env?
        Thanks,
        Camille

        jdaviescoatesJ Online
        jdaviescoatesJ Online
        jdaviescoates
        wrote on last edited by
        #2

        @Camille does this help?

        https://docs.cloudron.io/apps/jupyterhub/#other-custom-configuration

        I use Cloudron with Gandi & Hetzner

        C 1 Reply Last reply
        0
        • jdaviescoatesJ jdaviescoates

          @Camille does this help?

          https://docs.cloudron.io/apps/jupyterhub/#other-custom-configuration

          C Offline
          C Offline
          Camille
          wrote on last edited by
          #3

          @jdaviescoates Thanks.
          It's not clear to me what parameters can be changed in /app/data/customconfig.py
          besides c.Spawner.mem_limit and c.DockerSpawner.container_image.
          I searched in https://jupyterhub.readthedocs.io/en/stable/search.html?q=collaborative but didn't find many clues.
          I'll try c.Spawner.cmd = 'jupyter-lab --collaborative' but that'll be mostly guesswork 😉

          girishG 1 Reply Last reply
          1
          • C Camille

            @jdaviescoates Thanks.
            It's not clear to me what parameters can be changed in /app/data/customconfig.py
            besides c.Spawner.mem_limit and c.DockerSpawner.container_image.
            I searched in https://jupyterhub.readthedocs.io/en/stable/search.html?q=collaborative but didn't find many clues.
            I'll try c.Spawner.cmd = 'jupyter-lab --collaborative' but that'll be mostly guesswork 😉

            girishG Offline
            girishG Offline
            girish
            Staff
            wrote on last edited by
            #4

            @Camille I think the collaborative flag only works with BinderHub - https://github.com/jupyterhub/binderhub . With JupyterHub, I think https://github.com/jupyterhub/jupyterhub/issues/394 was the issue tracker task to fix this , but it didn't progress far.

            Also, to pass extra args, use something like this in customconfig.py:

            c.Spawner.environment = {
                'NOTEBOOK_ARGS': '--collaborative'
            }
            

            (this comes from https://github.com/jupyter/docker-stacks/blob/master/base-notebook/start-notebook.sh#L26 and https://github.com/jupyterhub/jupyterhub/blob/dcf21d53fd9e6c131a269550c0a46f08ca9df5bb/docs/source/reference/spawners.md#environment-variables-and-command-line-arguments

            C 1 Reply Last reply
            1
            • girishG girish

              @Camille I think the collaborative flag only works with BinderHub - https://github.com/jupyterhub/binderhub . With JupyterHub, I think https://github.com/jupyterhub/jupyterhub/issues/394 was the issue tracker task to fix this , but it didn't progress far.

              Also, to pass extra args, use something like this in customconfig.py:

              c.Spawner.environment = {
                  'NOTEBOOK_ARGS': '--collaborative'
              }
              

              (this comes from https://github.com/jupyter/docker-stacks/blob/master/base-notebook/start-notebook.sh#L26 and https://github.com/jupyterhub/jupyterhub/blob/dcf21d53fd9e6c131a269550c0a46f08ca9df5bb/docs/source/reference/spawners.md#environment-variables-and-command-line-arguments

              C Offline
              C Offline
              Camille
              wrote on last edited by
              #5

              Thanks @girish for all the pointers!

              C 1 Reply Last reply
              0
              • C Camille

                Thanks @girish for all the pointers!

                C Offline
                C Offline
                Camille
                wrote on last edited by
                #6

                Reading https://github.com/jupyterhub/jupyterhub/issues/3578 and https://discourse.jupyter.org/t/jupyterhub-collaboration-and-tags/11259
                it seems that collaborative flag would also work with JupyterHub.
                It tried adding c.LabApp.collaborative = True in customconfig.py with no luck.
                I'll investigate more thouroughly later.

                girishG 1 Reply Last reply
                0
                • C Camille

                  Reading https://github.com/jupyterhub/jupyterhub/issues/3578 and https://discourse.jupyter.org/t/jupyterhub-collaboration-and-tags/11259
                  it seems that collaborative flag would also work with JupyterHub.
                  It tried adding c.LabApp.collaborative = True in customconfig.py with no luck.
                  I'll investigate more thouroughly later.

                  girishG Offline
                  girishG Offline
                  girish
                  Staff
                  wrote on last edited by
                  #7

                  @Camille The sharing involves using this "token" for authentication which I think works only on Binder. I am not 100% sure about this though, documentation is very sparse.

                  C 1 Reply Last reply
                  0
                  • girishG Offline
                    girishG Offline
                    girish
                    Staff
                    wrote on last edited by
                    #8

                    So, from https://jupyter.org/binder , "BinderHub is a web application that allows users to create sharable, interactive, reproducible environments from code repositories" . Docs are here - https://binderhub.readthedocs.io/en/latest/ . There is says "BinderHub is a kubernetes-based cloud service that allows users to share reproducible interactive computing environments from code repositories." .

                    I think we need to understand how all this ties into this "token" for collaboration.

                    1 Reply Last reply
                    0
                    • girishG girish

                      @Camille The sharing involves using this "token" for authentication which I think works only on Binder. I am not 100% sure about this though, documentation is very sparse.

                      C Offline
                      C Offline
                      Camille
                      wrote on last edited by
                      #9

                      Hi @girish Token authentication works great on our Cloudron JupyterHub. We can share notebooks fine but with no real time collaboration: we just get the usual overwrite problems.

                      girishG 1 Reply Last reply
                      0
                      • C Camille

                        Hi @girish Token authentication works great on our Cloudron JupyterHub. We can share notebooks fine but with no real time collaboration: we just get the usual overwrite problems.

                        girishG Offline
                        girishG Offline
                        girish
                        Staff
                        wrote on last edited by
                        #10

                        @Camille Oh, that's interesting. Can you tell me how you enabled it and how you made it work ? (i.e just shared notebooks without real time)

                        C 1 Reply Last reply
                        0
                        • girishG girish

                          @Camille Oh, that's interesting. Can you tell me how you enabled it and how you made it work ? (i.e just shared notebooks without real time)

                          C Offline
                          C Offline
                          Camille
                          wrote on last edited by
                          #11

                          @girish Actually, I'm not really sure how we got there 😉
                          I have installed the https://github.com/jupyterlab-contrib/jupyterlab-link-share extension, which kind of works, but we have to manually add the token to the URL it provides.
                          So maybe it enabled settings in the background.
                          I will try to redo it from a fresh install and keep you posted.

                          1 Reply Last reply
                          1
                          • RubenFixitR Offline
                            RubenFixitR Offline
                            RubenFixit
                            wrote on last edited by
                            #12

                            Adding the following to /app/data/customconfig.py worked for me:

                            c.Spawner.args = ['--collaborative']
                            

                            You also need to run /app/code/remove_notebook_containers.py after making changes.

                            For a list of parameters check out: https://jupyterhub.readthedocs.io/en/stable/api/spawner.html

                            1 Reply Last reply
                            2
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • Bookmarks
                              • Search