Frappe Learning: Open-Source LMS for Course Creation
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.
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.
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
Frequently Asked Questions About Frappe Learning
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.
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.
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.
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.
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.
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
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.
