selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

INGInious logo

Self-host INGInious

v0.9.3

Automated code assessment platform for education

BetaOpen SourceOther
Updated7 months ago
LanguagePython
Setup difficultyAdvanced
Stars
243
Ports
8000 (Frontend and WebDAV internal ports), 2000 (Backend client port), 2001 (Backend agent port)
Requires
Docker or Podman, MongoDB, Python
Install with Docker Compose

What is INGInious?

INGInious is an automated code assessment platform designed for education. It provides a secure backend that runs student submissions in isolated Docker containers, a web frontend for students to submit code and view feedback, and an administration interface for teachers to manage courses and exercises. The platform integrates with Learning Management Systems through LTI v1.3, making it compatible with Moodle, edX, and other LTI-supporting platforms. It supports multiple programming languages through configurable grading environments and offers plugins for LDAP, SAML2, and OAuth authentication. Deployment is primarily via Docker Compose, which orchestrates MongoDB, backend services, grading agents, a frontend, WebDAV, and a Caddy reverse proxy. Manual installation via pip is also documented for Linux and macOS. The project is licensed under AGPL-3.0 and developed by Université catholique de Louvain.

Should you self-host INGInious?

INGInious scores 49/100 on selfhost.directory (how scoring works) and ranks #13 of 30 in Education. It has 243 GitHub stars.

It shipped 2 stable releases in the past year. The latest, v0.9.3, came out on 9 March 2026. New versions land roughly every 6 weeks.

Setup is advanced: plan for several services and some ongoing maintenance. It is Other-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is CTFd (70/100, 6 894 stars). It scores higher overall, so compare the two before you pick. See INGInious vs CTFd side by side.

Features

  • Automated code grading
  • Contest mode pluginOptional plugin
  • Git repository submission historyOptional plugin
  • In-browser SSH debugging (Webterm)Requires separate xterm deployment
  • LDAP AuthenticationRequires optional plugin installation
  • LTI v1.3 integration
  • Multi-language Support
  • Multiple grading environments
  • OAuth authentication (GitHub, Google, Facebook, LinkedIn)Requires optional plugin installation
  • SAML2/Shibboleth authenticationRequires optional plugin installation
  • Scoreboard pluginOptional plugin
  • Simple grader APIOptional plugin
  • Teacher administration interface
  • Web-based student interface
  • WebDAV course filesystem accessOptional component

INGInious README

How to install INGInious

Install INGInious with Docker Compose

Docker, Docker Compose, Linux (recommended)
Environment variables
REGISTRY, VERSION, INGINIOUS_SUPERADMIN_PASSWORD, INGINIOUS_SUPERADMIN_USERNAME, INGINIOUS_SUPERADMIN_REALNAME, INGINIOUS_SUPERADMIN_EMAIL, INGINIOUS_SUPERADMIN_LANG, INGINIOUS_SUPERADMIN_INDENT

$ docker compose up --build

And access https://localhost in your browser.

The default login and password are superadmin.

You may alternatively add 127.0.0.1 inginious.local to your /etc/hosts file and access https://inginious.local in your browser.

Uses Caddy reverse proxy on port 443; REGISTRY and VERSION env vars can override image source

INGInious releases & version history

More in Learning Management System

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…