Collaborate not working on Tljh

From several places on the internets I have been able to patch together the following setup:

  • The Littlest Jupyter Hub installed on a AWS EC2 instance
  • Added users in the Hub admin UI and added them to a “collaborate” group
  • In each user’s Jupyter Lab I installed the extension jupyter-collaborate
  • Added the following to /opt/tljh/config/jupyter_config.d/jupyter_config.py
c.Authenticator.allowed_users = set([
    ‘adminuser’,
    ‘user1’,
    ‘user2’,
    ‘user3’
])

c.JupyterHub.load_groups = {
    'collaborate’: [
        ‘adminuser’,
        ‘user1’,
        ‘user2’,
        ‘user3’
    ]
}

c.JupyterHub.load_roles = [
    {
        'name': ‘collaborate-group',
        'description': ‘users collaborate together’,
        'scopes': ['access:servers!group=collaborate’],
        'groups': [‘collaborate’],
    },
]

c.Spawner.cmd = [‘jupyter-labhub’]
c.Spawner.args = [‘—collaborate’]

While setting up this last part I was able to get the RTC collaboration working between my adminuser and a testuser. I got excited and removed the testuser and tried to connect the real user. But since then I have not been able to reproduce any working RTC. I can’t make the content appear between the users. I’ve tried sharing links and restarting the jupyter service after updating the config file, but have no success.

It’s been difficult to find a howto that includes the whole process in a complete manner. I have found information here and there, but it usually is missing the last last part in the Lab interface. I assume that’s part of the problem.

Does anyone have pointers to what I might be doing wrong or if I’m missing any steps?

Which version of Jupyterhub and Jupyterlab are you using?
For the latest lab, the way to user RTC is to install the plugin jupyter-collaboration.
Then with your config, user1 should be able to share his server by clicking on the share link (upper right corner) with user2 (logged in).

I recommend to first test your config with a docker before using any cloud provider. See, for example, my recent post.

I’m using Jupyterhub 4.0.2 and Jupyterlab 4.0.6.
I get the share link from user1, but how do I use it with user2? Does it go in the File → Open from URL ? That gives me “Document session error”.
I guess this step is what stumps me.

user2 should be logged into the hub. Then just paste the link of the server of user1 (.../your/server/user/user1/lab/) into the address of the browser window of user2.
(I suggest to log user2 in a different browser or in a private browser window so that the login tokens and cookies do not mix up)
If something does not work, the log of jupyterhub should offer some hints.

1 Like

Now I got it! I didn’t think about it being this simple. Thank you for the help, now it’s working! :grinning:

1 Like