Remote Access Jupyter Notebook securely. No CORS, No Token, Just One Click

Remote Access Jupyter Notebook securely. No CORS, No Token, Just One Click
Customer Avatar 03
BoatBuilder
Founder @ Localportal

Apr 11, 20244 min read

Jupyter Notebook has become the go-to editor for AI developers, offering a powerful and user-friendly web-based interactive development environment. Its popularity stems from its real-time code execution, support for multiple programming languages, rich visualizations, collaborative features, and seamless integration with popular AI frameworks.

Accessing Jupyter Notebook Remotely Isn't Easy

As the compute requirements for AI and Deep Learning programs have increased, publicly accessing Jupyter Notebook has become a necessity. Cloud providers offer Jupyter Notebook pre-installed on their GPU machines, catering to this need. However, for self-hosters, individuals with GPUs at home or office, or those who want to share their work from a local laptop with others, making Jupyter Notebook publicly accessible can be challenging due to several difficulties:

  • Obtaining a public URL for a local Jupyter Notebook instance when in a private network like office or home
  • Navigating through disabling Cross-Origin Resource Sharing (CORS)
  • Enabling external access within Jupyter
  • Cumbersome process of copying and managing access tokens between devices and users

These steps not only make the process time-consuming but also introduce potential security risks if not handled correctly.

Localportal For The Rescue

Localportal is a lightweight, single-binary pseudo operating system designed for local and cloud computing. It enables users to access a pseudo desktop through a web browser from any device, including mobile. By installing Localportal on local machines or cloud computers, users can obtain a secure public URL to their pseudo desktop, regardless of whether the machine has a public IP. Localportal is set to become open-source at https://github.com/localportal/localportal.

Localportal significantly simplifies the task of making Jupyter notebooks accessible to the public. It offers a streamlined solution that allows users to share their Jupyter notebooks effortlessly while maintaining robust security measures. The (pseudo) operating system has Jupyter Lab as a pre-installed app, along with other pre-installed apps and even more apps available from the app store.

Screenshot of Localportal's pseudo operating system

This makes it a "one-click" operation for users to access Jupyter Notebook on any given machine at any time, without needing to install Python, set up network configurations, perform port forwarding, or engage in reverse tunneling. Localportal handles all of these tasks transparently for the users. Jupyter Notebook opens as an app inside the (pseudo) desktop itself, and the URL is secured by the zero-trust interface servers, ensuring that only authorized individuals can access both the desktop and the notebook, as well as other apps. Additionally, users can open other apps alongside the notebook to perform operations in parallel. The image below demonstrates the capability of opening the filesystem, terminal, and Jupyter notebook together within the (pseudo) desktop.

screenshot showing jupyter lab along with other apps opened together in localportal's desktop

Installing and using Localportal is incredibly easy, needing just two commands: one to install and another to connect your machine to the intermediary servers. Once connected, you receive a public URL that only you and any users you authorize can access. This URL opens up the pseudo desktop, giving you everything necessary to manage and work on your remote workstation.

Conclusion

Localportal is a powerful solution designed specifically for developers who frequently work with remote computing resources, whether local or cloud-based. Recognizing Jupyter Notebook as the de facto editor for developers creating AI applications, Localportal has made it a first-class citizen within its (pseudo) operating system. Previously, accessing Jupyter Notebook remotely was a cumbersome and repetitive process, requiring developers to perform mundane tasks repeatedly. However, Localportal eliminates this hassle, allowing developers to simply keep Localportal running on any machine, and with just a single click, they can access their notebook server effortlessly.