- SageMathCloud -- the online service
- Github
- Mailing list
- Developer mailing list
To quickly evaluate SMC on your own machine, you can run a Docker image.
- Tim Clemans
- John Jeng
- William Stein
- Harald Schilly
- Hal Snyder
- Greg Bard
- Rob Beezer
- Keith Clawson
- Andy Huchala
- Jon Lee
- Simon Luu
- Nicholas Ruhland
- Todd Zimmerman
... and many others: See https://github.com/sagemathinc/smc/graphs/contributors
The copyright of SMC is owned by SageMath, Inc., and the source code here is released under the GNU Affero General Public License version 3+. See the included file LICENSE.md.
None of the frontend or server dependencies of SMC are themselves GPL licensed; they all have non-viral liberal licenses. If want to host your own SMC at a company, and need a different AGPL-free license, please contact [email protected].
- Client -- javascript client library that runs in web browser
- Load balancer/ssl -- HAproxy
- Database -- PostgreSQL
- Compute -- VM's running TCP servers (e.g., sage, console, projects, python3, R, etc.)
- Hub -- written in Node.js; primus server; connects with everything -- compute servers, database, other hubs, and clients.
- Storage -- Snapshots of project data
- HTTP server -- Nginx
Client Client Client Client ...
/|\
|
https://cloud.sagemath.com (primus)
|
|
\|/
HAproxy (load balancing...)HAproxy Admin (monitor and control system)
/|\ /|\ /|\ /|\
| | | |
|http1.1 | | |
| | | |
\|/ \|/ \|/ \|/
Hub<----> Hub<---->Hub<---> Hub <-----------> PostgreSQL <--> PostgreSQL <--> PostgreSQL ...
/|\ /|\ /|\
| | |
---------| | | (tcp)
| | |
| | |
\|/ \|/ \|/
Compute<-------->Compute<-->Compute <--- rsync replication to Storage Server, which has ZFS snapshots
The following instruction don't install SMC. They're for development purposes only!
git clone https://github.com/sagemathinc/smc-- copy repocd smc/srcnpm run install-all-- buildnpm test-- run test suite (expected failures if your clock is not UTC)install.py all --compute --web-- build and install some parts system-wide for development use- See
INSTALL.mdfor more details.
For further options please go here.