PortIgniter LMS is a self-hosted learning platform for people who teach technical skills. It gives you a drag-and-drop course builder, a quiz engine with real depth, verifiable certificates, and built-in Stripe sales, all running on your own server from a single Docker Compose file. It is built to get you from docker compose up to a published course in under 15 minutes, then stay out of your way.

What PortIgniter LMS gives you
- A course builder that writes real files. Lessons are built from blocks such as text, video, code, and lab steps. Every course is stored as plain JSON and Markdown files that you can export, import, keep in Git, or generate with an AI assistant.
- Quizzes you can trust. Ten question types, question banks, random draws, partial credit, attempt limits, and timed exams on a server-side clock. Grading happens on the server, so answers never reach the browser.
- Progression rules that hold. Let learners roam freely or require them to go in order, and gate modules behind quiz scores. The rules are enforced on the server, not just hidden in the interface.
- Sales without a middleman. Sell individual courses and memberships through your own Stripe account, with promotion codes, scheduled sales, and automatic handling of refunds and disputes.
- Certificates people can verify. A polished PDF with a unique ID and QR code linked to a public verification page.
- Your brand, not ours. Light and dark themes, your logo and front-page image, and custom CSS or tracking snippets. Nothing is hardcoded.
How it fits together
PortIgniter LMS runs as a small stack of containers: nginx serves the site, php runs the application, a scheduler handles background work, and MariaDB stores accounts, enrollments, and progress. Course content lives as files on a Docker volume, and the database keeps an index of it. See How PortIgniter LMS Works for the details.
Three roles, no permission maze
| Role | What they can do |
|---|---|
| Learner | Enrolls in courses, works through lessons, takes quizzes, hands in assignments, and earns certificates. |
| Instructor | Everything a learner can do, plus every course and quiz tool: building, publishing, enrollment, reviews, and reports. |
| Administrator | Everything an instructor can do, plus site settings, user management, memberships, sales, certificates, and backups. |
See Users & Sign-In for more.
Where to start
- New to PortIgniter LMS? Start with Getting Started to install it and sign in for the first time.
- Ready to build? Building Courses walks through the builder, and Lessons & Media covers every block type.
- Selling your courses? Selling Courses covers Stripe setup, memberships, and promotions.
- Writing courses outside the builder? Course Files documents the course format and the
courses:checkvalidator. - Something not behaving? Check Troubleshooting.