Overview

CoCalc as an online service for collaborative computing with Jupyter Notebooks, Linux terminals, LaTeX document editing, and more. Learn more about CoCalc itself in the CoCalc documentation.

Features and Benefits

CoCalc OnPrem makes it possible to self-host CoCalc on your own cluster. This solves a couple of problems, enhances what your users can do with the cluster, and opens up new possibilities:

  • White-Labeling: CoCalc OnPrem can be customized to look like your own service: change the name, icon, description, etc.

  • Software installation: CoCalc OnPrem provides a complete software stack that includes a full Linux distribution, Python, R, Julia, SageMath, LaTeX, and much more. This stack is ready to use and consistent across all projects. You can install additional software in your own project – which is kind of equivalent of a traditional un-privileged user account on a Linux system. This is a huge advantage over the traditional approach of installing software on a shared cluster, where you have to deal with consistency, etc. On top of that, for special purpose projects you can define a customized software environment.

  • Resource management: CoCalc OnPrem provides a resource management system that allows you to control how much resources each project can use. This is facilitated using “Licenses”, which define resource quotas and have a start and end time of their validity. Additionally, special licenses are powerful enough to add or modify Kubernetes pod attributes like Taint toleration, Node selectors, etc. This means it is possible to setup a heterogeneous cluster for several work-groups, and control which group can use which nodes for their computations.

  • Teaching: CoCalc OnPrem inherits all the functionality for teaching a course, including NBGrader.

  • Collaboration: CoCalc OnPrem provides all the functionality for collaboration, i.e. multiple users can edit and evaluate the same Jupyter Notebook, LaTeX Documents, Chat “on the side” of each file, etc. This is a huge advantage over sharing files via emails or a shared file system.

  • Publishing: all files can be shared on this platform, publicly or internally, and a quickly rendered preview lets you read the document online without having to download it. If enabled, it’s even possible to run cells in a shared Jupyter Notebook or code block snippets in a Markdown document.

  • Access internal services: since CoCalc OnPrem runs in your cluster and you have full control over the networking configuration, projects can access internal resources like other parts of the cluster, services like your own Apache Spark cluster, etc.

  • Privacy/Security: CoCalc OnPrem runs in your cluster, so you have full control over the data. You can even run it in an air-gapped environment or inside an isolated VPN.

  • SSO Authentication: CoCalc OnPrem supports SSO authentication via SAML or OAuth2. This means you can integrate it with your existing authentication system, and users can login with their existing credentials.

  • Included Servers: Each CoCalc OnPrem project includes a way to run a traditional Jupyter Classic or JupyterLab server. This gives your users an escape hatch to work in a familiar environment. Similarly, VSCode is pre-installed and available as well.