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.

GitHub
OpenTutor logo

Self-host OpenTutor

0.1.x

Block-based adaptive learning workspace with local AI tutor

BetaOpen SourceMIT
Updatedlast week
LanguagePython
Setup difficultyModerate
Stars
154
Ports
3001 (Web frontend (Next.js)), 8000 (API backend (FastAPI))
Requires
SQLite
Install with Docker Compose
Block-based adaptive workspace with chapters, notes, quiz, knowledge graph, and progress trackingBlock-based workspace with AI-generated notes and LaTeX renderingAI tutor chat drawer with workspace contextUpload flow — drag and drop PDF for content ingestionQuiz practice with multiple choice questionsStudy plan calendar view with task tracking

What is OpenTutor?

OpenTutor is a self-hosted AI learning platform designed for individual learners who want a private, adaptive study environment. Upload PDFs, DOCX, or PPTX files (or connect Canvas LMS) and within seconds get AI-generated notes, flashcards, and quizzes grounded in your material. The block-based workspace reshapes itself based on your learning behavior, using 12 composable blocks including knowledge graphs, study plans, analytics, and spaced-repetition review powered by FSRS 4.5. Three specialist agents — Tutor, Planner, and Layout — coordinate to adapt content depth, schedule study sessions, and reconfigure the workspace. It runs locally via Docker Compose or manual Python/Node.js setup, defaults to Ollama for zero-API-key operation, and supports 10+ cloud LLM providers. Current release is a local single-user public beta (version 0.1.x) with macOS and Linux as first-class platforms; Windows is community-supported. Multi-user classroom mode and mobile-responsive layouts are on the roadmap but not yet shipped.

Should you self-host OpenTutor?

OpenTutor scores 43/100 on selfhost.directory (how scoring works) and ranks #12 of 14 in Learning Management System. It has 154 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Moodle (71/100). It scores higher overall, so compare the two before you pick. See OpenTutor vs Moodle side by side.

Features

  • Adaptive quiz & practice
  • AI Tutor with source citations
  • Block-based adaptive workspace
  • CAT adaptive diagnostic pretestExperimental feature, gated by ENABLE_EXPERIMENTAL_CAT
  • Code sandbox for coding questions
  • Cognitive load detectionExperimental feature, weight auto-tuning in progress
  • Confusion pair detectionExperimental feature
  • Content ingestion (PDF, DOCX, PPTX, Canvas LMS)
  • Cross-course linkingExperimental feature
  • Knowledge graph (LOOM)Experimental feature, may change quickly
  • Multi-agent system (Tutor, Planner, Layout)
  • Multi-provider LLM support (10+)
  • Semantic review (LECTOR)Experimental feature, may change quickly
  • Spaced repetition (FSRS 4.5)
  • Study plan & calendar

OpenTutor README

How to install OpenTutor

Install OpenTutor with Docker Compose

Docker and Docker Compose plugin
Environment variables
See .env.example for all options (LLM_PROVIDER, DATABASE_URL, AUTH_ENABLED, etc.)

git clone https://github.com/zijinz456/OpenTutor.git && cd OpenTutor cp .env.example .env docker compose up -d --build

Primary installation method. Opens http://localhost:3001

More in Learning Management System

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…