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
  • Brite
  • 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 - Status | 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 4.7k 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 Offline
      jdaviescoatesJ Offline
      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

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          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