Skip to content

CoCalc Docker Image

Hal Snyder edited this page Aug 17, 2018 · 6 revisions

About the CoCalc Docker image

Not only does CoCalc let you use all open source math software in your browser, CoCalc itself is open source! This means you can run CoCalc on your own laptop or server.

To make this much easier for you, a Docker image of the CoCalc server is freely available. The CoCalc Docker image lets you:

  • run Sage worksheets and Python 2 Jupyter notebooks locally
  • edit LaTeX documents and markdown locally
  • learn about how CoCalc works

Note that files edited with the Docker image are fully compatible with online CoCalc. You can upload files from your Docker image to your cocalc.com account and work on them there. Files from cocalc.com will run in the Docker image as well, but you will need to ensure that any required packages and libraries are also installed locally.

Limitations

  1. Unlike the cocalc.com service, the Docker image doesn't isolate projects from each other, and also has no provisions to scale horizontally. The service cocalc.com has a quite sophisticated management system based on kubernetes, which is proprietary (contact us at [email protected] if you are interested in running this). However, the Docker image should still work for you on an average server node with a relatively small number of trusted non-malicious users.
  2. The software stack behind the cocalc.com service is several hundred gigabytes of well-tested code and data. In comparison, the docker image only provides a relatively small subset of that stack, including SageMath and LaTeX. You can extend it on your own, though, by either installing more into the container or by amending the Dockerfile.
  3. SageMath, Inc. doesn't prioritize supporting the Docker image, which means that if you ask a question about it, or make a support request, we likely won't have time to answer. Please set your expectations accordingly (but see below for alternatives). On the other hand, if you are willing to fully compensate us for our time, then we can likely be very helpful!
  4. The license is AGPLv3. (If you want to run CoCalc internally and cannot use AGPLv3 licensed code at your organization, contact us and we can sell you a version of the Docker image under a different license.)

Questions

I'm working on a collaborative project on cocalc.com and the scripts we're using will very likely exceed the allotted server time for my cocalc.com account. Can I run the Docker image of CoCalc on my own machine, but still enable access by my collaborators remotely?

Yes, you definitely can! The CoCalc team does exactly this in some special cases (e.g., for Sage Days workshops). Follow the directions here: sagemathinc/cocalc-docker. Be sure to make your account an admin and set an "account creation token" so that only you and your collab can make accounts on the server.

What support is available for the CoCalc Docker image?

If you want professional level support for running the server from us, send email to [email protected]. There's also a mailing list for general community discussion at groups.google.com/forum/#!forum/cocalc. And feel free to share your experiences.

Is Anaconda available in the CoCalc Docker image?

The Docker image does NOT currently include Anaconda at all. If you need it, you'll have to install it yourself. This isn't difficult, since the Docker image is running Ubuntu 18.04, and it is easy to install Anaconda into Ubuntu.

What about compatibility with the operating system on my local computer?

The CoCalc Docker image is completely isolated from your main Linux system. It can't mess up anything installed there! It uses the exact same Linux kernel, but otherwise has minimal overhead (it is very much not a virtual machine). Docker is designed to not touch or break anything related to your OS.

How much disk space is needed for the CoCalc Docker image?

About 7 GB. Remember the Docker image includes a full LaTeX and Sage install, which is pretty big.

Getting Started

Detailed instructions to get the image up and running are at the github repo for sagemathinc/cocalc-docker.

Clone this wiki locally