Play
Neurodesk Play provides access to our neuroimaging analysis environment directly through your web browser. This service allows you to:
- Start using Neurodesk without any local installation.
- Access a wide range of pre-installed neuroimaging tools.
- Try out the platform before setting up a local installation.
- Collaborate with colleagues using a consistent environment.
Launch Neurodesk Play
Section titled “Launch Neurodesk Play”The tool below automatically detects the fastest server for your location. Click the Recommended card to start.
Usage acknowledgments
Section titled “Usage acknowledgments”When using these services for research, please include the appropriate acknowledgment:
🇺🇸 US (Jetstream2 / NSF)
“This research was supported by Jetstream2 (NSF award #2005506), which is supported by the National Science Foundation. Jetstream2 is a cloud computing resource managed by the Indiana University Pervasive Technology Institute and part of the ACCESS project.”
🇪🇺 Europe (EGI / CESNET-MCC)
“Enabled through services and resources provided by the EGI Federation with the dedicated support of CESNET-MCC. Computational resources were provided by the e-INFRA CZ project (ID:90254), supported by the Ministry of Education, Youth and Sports of the Czech Republic.”
🇦🇺 Australia (ARDC / Nectar)
“This research was supported by use of the Nectar Research Cloud, a collaborative Australian research platform supported by the NCRIS-funded Australian Research Data Commons (ARDC).”
Data transfer
Section titled “Data transfer”We provide several methods to transfer your files in and out of Neurodesk Play, including drag-and-drop and cloud storage integration. View Data Transfer Documentation →
Shared directories for courses and workshops
Section titled “Shared directories for courses and workshops”Neurodesk Play can provide shared directories for educational use. These directories are mounted inside Play sessions under /data/groups/<group-name> or /data/teaching/<educator-github-username> and can be configured for different teaching and project needs.
- Educator-managed course material: educators can write to a directory under
/data/teaching/<educator-github-username>, while all other users have read-only access. - Project groups: a defined group of users can share a directory where every group member has read+write access under
/data/groups/<group-name>. - Teaching teams: multiple educators can have write access to a shared directory under
/data/groups/<group-name>, while everyone else has read-only access.
This is useful for distributing workshop datasets, notebooks, examples, or course material without asking every participant to copy files into their own home directory. It also makes it very easy to provide the solutions of a previous session to all users so learners can catch up to the rest of the class.
If you need such a setup, please reach out to mail.neurodesk@gmail.com with information on when your course runs and how much storage you need.
SSH connection
Section titled “SSH connection”It is possible to connect to Play instances using SSH, including from VS Code Remote SSH. Neurodesk Play uses jupyter-sshd-proxy to proxy SSH over the authenticated JupyterHub connection.
-
Install
websocaton your local computer.The SSH client connects through a WebSocket proxy, so
websocatmust be available on the computer where you runssh.On macOS:
Terminal window brew install websocatFor Linux and Windows, install
websocatfrom your package manager or download a binary from the websocat releases. -
Start your Neurodesk Play session.
Launch one of the Play servers above and wait until JupyterLab has started. Keep this browser session running while you use SSH.
You will need three values:
- Play domain: for example
play-america.neurodesk.org,play-europe.neurodesk.org, orplay.neurodesk.cloud.edu.au. - JupyterHub username: copy this from the browser URL. In a URL like
https://play-america.neurodesk.org/user/myname/lab, the username ismyname. If the URL contains encoded characters such as%40, use the URL value exactly as shown.
- Play domain: for example
-
Create a JupyterHub token.
In JupyterLab, open File → Hub Control Panel, then select Token and create a new token.
Treat this token like a password to your Play instance. Set an expiry date for best practice and note the expiry date in your calendar.
-
Add your SSH public key inside Play.
Open a terminal in JupyterLab and add the public key that matches the private key on your local computer. If your public keys are available from GitHub, you can use:
Terminal window mkdir -p ~/.sshwget https://github.com/<YOUR-GITHUB-USERNAME>.keys -O ~/.ssh/authorized_keyschmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keysReplace
<YOUR-GITHUB-USERNAME>with your GitHub username. -
Configure SSH on your local computer.
Add an entry like this to
~/.ssh/configon your local computer:Host neurodesk-playHostName <PLAY-DOMAIN>User jovyanIdentityFile ~/.ssh/id_ed25519IdentitiesOnly yesProxyCommand websocat --binary -H="Authorization: token <JUPYTERHUB-TOKEN>" asyncstdio: wss://%h/user/<JUPYTERHUB-USERNAME>/sshd/Replace:
<PLAY-DOMAIN>with the server you are using, for exampleplay-america.neurodesk.org.<JUPYTERHUB-TOKEN>with the token you created.<JUPYTERHUB-USERNAME>with the username from your JupyterHub URL.~/.ssh/id_ed25519with the private key that matches the public key you added toauthorized_keys.
-
Connect.
From your local terminal:
Terminal window ssh neurodesk-playYou can use the same SSH host in VS Code Remote SSH by connecting to
neurodesk-play.You can also copy files with
scporsftp, for example:Terminal window scp local-file.txt neurodesk-play:~/sftp neurodesk-play