Skip to main content

Documentation 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.

Moodle Playground runs a complete Moodle™ LMS entirely inside your browser tab — no server, no PHP install, no database to configure. Powered by WordPress Playground’s @php-wasm/web runtime, every page load boots a fresh Moodle instance from a pre-built SQLite snapshot held entirely in memory. Nothing is stored on disk, and nothing leaves your browser.

What problem does it solve?

Standing up even a throwaway Moodle instance normally means provisioning a web server, a database, and a compatible PHP environment — a process that can take 30 minutes before you write a single line of test code. Moodle Playground collapses that to a URL. Because the entire runtime lives in the browser, any collaborator can receive a link and instantly explore the same site state without installing anything.

Key use cases

  • Demos — share a fully provisioned Moodle site, pre-loaded with courses, users, and content, via a single URL containing a blueprint.
  • Plugin testing — install and exercise a plugin ZIP without touching a real server. The ephemeral nature means no cleanup required after each test run.
  • Bug reproduction — attach a blueprint to a bug report so reviewers can reproduce the exact environment in one click.
  • Pull request review — boot a PR build directly from GitHub Actions artifacts and validate changes before merging.
  • Sharing scenarios — export a blueprint from the side panel and send it to a colleague, who can restore the identical setup on their own machine.

How it differs from a regular Moodle install

Moodle PlaygroundRegular Moodle
Server requiredNone — runs in WASMApache / Nginx + PHP
DatabaseIn-memory SQLite (MEMFS)MySQL / PostgreSQL
State persistenceEphemeral (tab lifetime)Durable (disk)
Setup time~3 seconds10–30 minutes
AccessAny modern browserNeeds a public host or VPN
Data isolationComplete (no data leaves browser)Standard web security model
PHP is compiled to WebAssembly via @php-wasm/web. Moodle’s code is extracted from a prebuilt ZIP bundle into Emscripten’s MEMFS at boot, and the database is a single SQLite file held in the same in-memory filesystem — no journaling to disk, no durable storage of any kind.

Default credentials

The default administrator account is username: admin and password: password. A blueprint can override these via an installMoodle step. See the Blueprints overview for details.

Ephemeral by design

All state lives in memory (Emscripten MEMFS). Closing the tab destroys everything. A page reload within the same tab preserves your data for the same blueprint source, but opening the app in a new tab starts completely fresh. The playground is built for exploration, demos, and testing — not for storing real data.

Explore further

Get Started

Open the hosted playground, load a blueprint, or run Moodle Playground locally in three commands.

Blueprints

Provision courses, users, plugins, and site config declaratively with a JSON blueprint file.

GitHub PR Previews

Automatically boot a playground from a pull request build and validate changes before merging.

URL Parameters

Pass ?moodle=, ?php=, ?blueprint-url=, and more to configure a session from the address bar.

Sibling Docker runtime: alpine-moodle

For workflows that need a real server — persistent CI pipelines, plugin development with file watchers, or integration tests that write to disk — the sibling project alpine-moodle provides a Docker-based Moodle environment that can apply a compatible subset of the same blueprint.json files during container startup. This means a single declarative blueprint can drive both runtimes:
  • Moodle Playground for fast browser validation and one-click sharing.
  • alpine-moodle for a fully persistent Docker environment in CI or local development.
See the Blueprints runtime compatibility notes for a portable, Docker-compatible blueprint example.

License and trademark

Moodle Playground is released under the GNU General Public License v3.0 (GPL-3.0). The full license text is available in the project’s LICENSE file. Trademark notice: “Moodle™” and the Moodle logo are trademarks or registered trademarks of Moodle Pty Ltd and its associated entities, used here for identification and descriptive purposes only. Moodle Playground is an independent, community-maintained open-source project built by Área de Tecnología Educativa (ATE). It is not affiliated with, endorsed by, sponsored by, or approved by Moodle Pty Ltd or Moodle HQ. It runs the open-source Moodle™ software in the browser for demonstration, testing, and educational purposes. See Moodle’s trademark guidelines for details.

Build docs developers (and LLMs) love