TopGit
GitHub Repo Review

Frappe Learning: Open-Source LMS for Course Creation

frappe/lms
FTopGit review image for frappe/lms
Review by Topgit.dev for frappe/lms, with GitHub repository stats and README context.
Quick verdict

Frappe Learning is an open-source learning management system built on the Frappe Framework, with course creation, live classes, quizzes, and certificates included out of the box. Reach for it if you already run Frappe and want an LMS that plugs into the same stack; skip it if you need a mobile app or a mature plugin ecosystem, since neither shows up in the README.

Stars
โ˜… 3.1k
Forks
โ‘‚ 1.4k
Contributors
๐Ÿ‘ฅ 71
Language
Vue
License
AGPL-3.0
Topic
Frontend
Updated
Aug 2026

What is Frappe Learning?

Frappe Learning is a self-hosted learning management system for building and running online courses, made by the team behind the Frappe Framework. Courses are organized into a three-level hierarchy โ€” course, chapter, lesson โ€” and instructors can run live Zoom classes, grade quizzes and assignments, and issue certificates once a learner finishes a batch.

The Motivation Behind Frappe Learning

The project started in 2021 when the Frappe team went looking for a learning platform to launch Mon.School, an education initiative under FOSS United. They tried Moodle and it didn't fit โ€” the forms were too long and the interface too confusing for what should have been a quick task: create a course. So instead of configuring around Moodle's complexity, they built their own tool focused on getting a course live without the friction, and it grew from an internal project into a standalone product.

Key Capabilities of Frappe Learning

  • โœ“Three-level course hierarchy โ€” courses split into chapters, and chapters group lessons, so each lesson inherits the context of the chapter it sits under.
  • โœ“Batches and Zoom live classes โ€” learners are grouped into batches by course and duration; instructors schedule a Zoom session for a batch directly inside the app, and each batch sees its own class list.
  • โœ“Quizzes with mixed question types โ€” single-choice, multiple-choice, and open-ended questions in the same quiz.
  • โœ“Assignment submission โ€” learners submit assignments as PDFs or documents for instructor review.
  • โœ“Certificates โ€” award a certificate on course or batch completion using the built-in template or a custom one you design yourself.
  • โœ“Built on Frappe Framework and Frappe UI โ€” the backend runs on the Frappe full-stack Python framework, and the front end uses Frappe UI, a Vue-based UI library.
  • โœ“Two hosting paths โ€” self-host with the easy-install script or Docker, or use Frappe Cloud, the company's managed hosting platform for Frappe apps.
How this repository's GitHub stars have grown over time. Source: star-history.com.View the star history โ†—

Ideal Users for Frappe Learning

  • โ€ขTeams already running Frappe who want an LMS inside the same ecosystem instead of integrating a separate SaaS.
  • โ€ขCommunity groups or nonprofits like FOSS United running cohort-style courses that need batches with Zoom classes.
  • โ€ขInstructors who want a simple three-level content structure instead of a heavier course-authoring toolset.
  • โ€ขOrganizations that need self-hosted certification, such as internal training, with a customizable certificate template.

Getting Started with Frappe Learning

Frappe Learning ships three setup paths. For production, download `easy-install.py` from frappe.io and run it with `deploy --project=... --email=... --image=ghcr.io/frappe/lms --version=stable --app=lms --sitename=...` โ€” the README says this takes about five minutes and needs your DNS A record pointed at the server, or a hosts-file entry if you're testing locally. For local development, pull the docker-compose file and init script from the repo's `develop` branch and run `docker compose up -d`; the site comes up at `http://lms.localhost:8000/lms` with a default Administrator/admin login. If you'd rather not manage servers, Frappe Cloud is the company's managed hosting option for Frappe apps, described as handling installation, upgrades, monitoring, and support. There's also a from-source route using `bench`: set up a `frappe-bench` directory, run `bench start`, then `bench new-site`, `bench get-app` for both `frappe/payments` and `frappe/lms`, and `bench install-app lms`.

Strengths

  • โœ“Free, self-hosted, and open source under AGPL-3.0, so there's no per-seat SaaS pricing to manage.
  • โœ“The course โ†’ chapter โ†’ lesson structure keeps content organized without much configuration.
  • โœ“Certificates, quizzes, and Zoom-based live classes are built in โ€” no separate plugin needed to run a full cohort-style course.
  • โœ“Two clear self-hosting paths (script-based production install, Docker for local dev) plus a managed-hosting option via Frappe Cloud if you don't want to run infrastructure.

Considerations When Using Frappe Learning

  • โ–ณSmall community relative to the LMS category, with no adoption numbers in the README to gauge how widely it's actually deployed.
  • โ–ณAGPL-3.0 licensing means if you modify it and offer it as a hosted service, you have to publish your source changes โ€” that rules out a commercial white-label use without disclosure.
  • โ–ณNo mobile app is mentioned; live classes route through Zoom, so you're depending on a third-party video service rather than a built-in conferencing feature.
  • โ–ณThe from-source setup assumes familiarity with the Frappe ecosystem (bench, sites, apps), a steeper on-ramp than a single Docker Compose file if you've never touched Frappe before.

Exploring Alternatives to Frappe Learning

Moodle โ€” the incumbent open-source LMS the Frappe team evaluated and rejected before building this; a much larger feature set and plugin ecosystem, at the cost of a heavier admin UI.Open edX โ€” built for large-scale MOOC-style courses, more complex to operate than Frappe Learning.Canvas LMS โ€” Instructure's open-source core, widely used in higher education, with a bigger installed base and course-import ecosystem.Chamilo โ€” another open-source LMS aimed at simpler deployments, closer in scope to Frappe Learning.

Frequently Asked Questions About Frappe Learning

Is Frappe Learning free to use?

Frappe Learning is free and open source under the AGPL-3.0 license, so you can self-host it at no licensing cost. Frappe also sells managed hosting through Frappe Cloud if you'd rather not run the infrastructure yourself.

What technology stack does Frappe Learning use?

Frappe Learning is built on the Frappe Framework, a full-stack Python web application framework, with a front end built using Frappe UI, a Vue-based UI library. GitHub lists Vue as the repository's primary language.

Can Frappe Learning be self-hosted?

Frappe Learning supports self-hosting through three paths: the easy-install.py production script, a Docker Compose setup for local development, or a from-source install using the Frappe `bench` tool.

Does Frappe Learning support online classes and quizzes?

Frappe Learning supports both: live classes run through a Zoom integration scheduled per batch, and quizzes support single-choice, multiple-choice, and open-ended questions, plus assignments submitted as PDFs or documents.

Can users get certificates upon course completion?

Frappe Learning can issue a certificate once a learner completes a course or batch, using the built-in certificate template or a custom template you design yourself.

What is Frappe Cloud?

Frappe Cloud is the company's managed hosting platform for Frappe applications, including Frappe Learning. The README describes it as handling installation, setup, upgrades, monitoring, maintenance, and support for your deployment.

Who should try it โ€” and who should skip

Try Frappe Learning if you're already comfortable with the Frappe stack, want to self-host a course platform instead of paying for SaaS LMS seats, and your content fits the course โ†’ chapter โ†’ lesson model with Zoom for live sessions. Skip it if you need a large plugin marketplace or a mobile app โ€” the README doesn't mention either, so you'd be building around the gap rather than picking from existing options.

Related repositories

Source & attribution

Based on the frappe/lms GitHub repository (github.com/frappe/lms).

GitHub data ยท last synced Aug 14, 2026Reviewed by Henry
โ† Back to TopGit

Curious whether lms is right for you?

Let ChatGPT, Claude, or Perplexity look into it โ€” click below and see what AI actually says about lms.

GitHub