Moodle Playground runs a full Moodle™ LMS entirely inside your browser using WebAssembly. Powered by WordPress Playground’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ateeducacion/moodle-playground/llms.txt
Use this file to discover all available pages before exploring further.
@php-wasm/web runtime, it boots a fresh Moodle instance with a pre-built SQLite snapshot in roughly three seconds — no server, no backend, no data ever leaving your machine.
Use it to demo courses, validate plugins, reproduce bugs, share reproducible scenarios, or preview pull requests — all from a single URL.
Quick Start
Open the live demo or run locally in three commands. No prerequisites for the hosted version.
Blueprints
Provision courses, users, plugins, and themes declaratively at boot with a JSON blueprint.
PR Previews
Automatically post an “Open in Moodle Playground” button on every plugin pull request.
URL Parameters
Select Moodle and PHP versions, load blueprints, and enable debug mode from the URL.
How it works
The shell UI hosts a scoped iframe that registers a Service Worker. The Service Worker intercepts every request and forwards it to a PHP-WASM worker, which runs Moodle against an in-memory SQLite database. Everything lives in the JavaScript heap — closing the tab destroys all state.Default credentials: username
admin, password password. Override them via an installMoodle step in a blueprint.Start in 30 seconds
Open the live demo
Go to moodle-playground.com — no install needed. Moodle boots in a few seconds.
Load a blueprint
Add
?blueprint-url=/assets/blueprints/examples/course-with-content.blueprint.json to the URL to boot with a pre-built course, or import your own .json from the Blueprint panel.Key features
Multiple Moodle Versions
Switch between Moodle 4.4, 4.5, 5.0, 5.1, 5.2, and
main — and PHP 8.1–8.5 — from the side panel or via URL parameters.Plugin & Theme Install
Install any Moodle plugin or theme from a GitHub archive ZIP URL with a single blueprint step.
Crash Recovery
If the WASM runtime crashes (OOM, FD exhaustion), the worker snapshots the DB, reboots, and restores state automatically.
Docker-compatible Blueprints
A portable blueprint subset also runs in the sibling alpine-moodle Docker runtime.