Sphere Engine

Best Self-hosted Alternatives to Sphere Engine

A curated collection of the 3 best self hosted alternatives to Sphere Engine.

Cloud APIs that provide on-demand compilation, execution and automated judging of user-submitted code, plus problem and assessment management. Intended for embedding code execution, testing and programming challenges into e-learning platforms, recruitment tools and products.

Alternatives List

#1
INGInious

INGInious

Open-source platform for creating, running and automatically grading programming exercises in Docker sandboxes; integrates with LMS (Moodle, edX).

INGInious screenshot

INGInious is an automated exercises assessment platform designed to run and grade students' programming submissions inside isolated Docker environments. It provides a web frontend for students and teachers, an administration interface for course and task management, and integration points for external LMS platforms.

Key Features

  • Automated grading of programming exercises using custom tests and pluggable grading environments
  • Executes student code inside Docker-based sandboxes to isolate and control runtime behavior
  • Web frontend for submissions and an admin UI for course/task management and student monitoring
  • Integrations with external learning systems (LMS) such as Moodle and edX via standard connectors
  • Deployable via Docker Compose with provided example grading environments and a tasks folder for courses
  • Supports multiple programming languages through configurable grading containers and task definitions
  • Includes demo tasks and tooling for creating and importing exercise sets

Use Cases

  • University and classroom programming courses requiring scalable, consistent automated grading
  • MOOCs and online learning platforms that need external graders integrated with LMS
  • Technical training and coding interview platforms that require reproducible, sandboxed code evaluation

Limitations and Considerations

  • Execution relies on Docker containers: secure configuration (SELinux, namespaces) is required for safely running untrusted code
  • Out-of-the-box deployment is oriented around Docker Compose; large-scale horizontal scaling requires additional infrastructure and orchestration
  • Administrators must manage and maintain grading environment images and task repositories to cover target languages and toolchains

INGInious is suitable for institutions and instructors who need a configurable, containerized autograding solution that integrates with existing LMS workflows. It emphasizes secure execution, extensible grading environments, and a teacher-focused administration interface.

231stars
148forks
#2
Schoco

Schoco

Web-based IDE for Java 8 focused on teaching: teacher-managed assignments, JUnit auto-testing, isolated execution via Docker workers, and Gitea-backed projects.

Schoco is a web-based integrated development environment designed specifically for teaching Java (Java 8) at school. It provides teacher-managed assignments, per-student branches, and automated JUnit-based testing while running user code in isolated worker containers.

Key Features

  • Web-based IDE tailored to Java 8 with editing, compile, run and test capabilities suited for classroom use
  • Teacher and student roles with assignments: teachers create assignments, pupils receive per-student branches and submit solutions
  • Automated evaluation using JUnit tests with visible pass-percent results for teachers
  • Isolated execution using short-lived Docker worker containers for each compile/run/test action to improve security
  • Projects stored in Git repositories via an integrated Gitea instance; each project uses a UUID-based repo and student work uses branches
  • Lightweight metadata storage using SQLite for users, courses, projects and assignment info
  • Live output streamed to the browser via WebSocket connections, requiring reverse-proxy support for websockets
  • Frontend localization (English/German) and configurable runtime limits (e.g., execution time, number of workers)
  • Deployable via Docker Compose with an included Nginx gateway and recommended reverse-proxy configuration

Use Cases

  • Teachers assigning, auto-testing and reviewing Java programming homework in classroom or remote teaching scenarios
  • Students practicing Java programming without needing local JRE installs or complex toolchains
  • Demonstrations and live code comparisons in class by opening student submissions and projecting them for discussion

Limitations and Considerations

  • Language support is focused on Java 8; many JVM features (file IO, networking, spawning processes, UI) are restricted by the Java security manager
  • Requires Docker/Docker Compose and an appropriate reverse-proxy configuration to handle WebSocket traffic securely
  • Uses SQLite for metadata which may not suit very large multi-tenant deployments without modification
  • Some administrator setup steps (Gitea user creation, filesystem permissions, nproc considerations) are required on first start

Schoco is a focused classroom tool that streamlines assignment distribution, isolated code execution and automated testing for Java teaching. It prioritizes safety and easy classroom workflows over features needed for professional software development.

37stars
4forks
#3
XRSH

XRSH

XRSH is a browser-based XR terminal/REPL that can run standalone from a single executable, optionally booting a Linux ISO and embedding into A-Frame scenes.

XRSH screenshot

XRSH is a web-based XR terminal and REPL that runs in the browser and can be served locally or hosted as static assets. It is distributed as a single cross-platform executable that bundles the app and can optionally boot an emulated Linux ISO for a shell-like experience.

Key Features

  • Browser-first terminal/REPL interface designed for XR usage
  • Single-file distribution (a bundled executable that can be unpacked like a zip)
  • Multiple run modes: local server, container image, Nix-based installs, or hosted from a forge/pages setup
  • Optional ISO boot support and file overlay mechanism to customize content
  • Embeddable “isoterminal” component for A-Frame apps
  • Built-in help/manual access from within the terminal UI

Use Cases

  • Embedding an interactive terminal/REPL into WebXR or A-Frame experiences
  • Shipping a portable “terminal-in-a-browser” environment for demos, workshops, or kiosks
  • Hosting a customizable XR terminal endpoint from your own infrastructure

Limitations and Considerations

  • ISO-based mode can increase load times and may require additional WASM assets
  • Some deployment modes assume serving over HTTPS for full browser capabilities

XRSH is a pragmatic approach to distributing an XR-capable terminal experience as simple web content, while still allowing advanced setups such as ISO booting and environment customization. It fits projects that want an interactive terminal UI in the browser and the option to integrate it directly into WebXR scenes.

Why choose an open source alternative?

  • Data ownership: Keep your data on your own servers
  • No vendor lock-in: Freedom to switch or modify at any time
  • Cost savings: Reduce or eliminate subscription fees
  • Transparency: Audit the code and know exactly what's running