Moodle (buildable)¶
The buildable Moodle stack runs Moodle built from your Git repository: the repository pins the
Moodle release and holds your own plugins and themes. The stack has the same services as the
Moodle stack: Nginx, MariaDB, shared NFS storage for Moodle's data, a cron worker, OpenSMTPD and
optional Valkey. Its composition is documented in
wodby/stack-moodle-buildable.
Everything in the Moodle guide applies, from the administrator settings to cron, sessions and backups. This page covers what differs.
Repository¶
Start the repository from the Moodle boilerplate and connect it when you create the app.
| Path | Purpose |
|---|---|
.moodle-version |
The Moodle release to run, such as 5.3.1. Required. |
public/ |
Your plugins and themes, at their place in Moodle's public/ tree, such as public/local/myplugin |
.wodby/pipeline.yml |
The pipeline, which puts Moodle together before building the images |
Moodle 5.1 and later 5.x releases are supported.
Build¶
Before building the images, the pipeline runs moodle-install-release. It downloads the release with its Composer
packages and adds your public/ files and Wodby's settings file. The Moodle and Nginx images are then built from the
same code, so Nginx serves your plugins' and themes' files.
The build fails when .moodle-version is missing, or when a file in public/ is already part of Moodle: your plugins
are added next to Moodle's code and never replace it.
Plugins¶
Each deployment installs or upgrades Moodle, installs plugins that are new in the repository and upgrades those whose version went up. The cron worker runs the same build, so your plugins' scheduled tasks run too.
Uninstall a plugin in Moodle's administration before you remove it from the repository. Plugins can't be installed from Moodle's web interface, because the code is part of the image.
Updates¶
Moodle's version changes only when you change .moodle-version and deploy; the deployment upgrades the database.
Updates of the service bring PHP and Wodby's own changes, not a new Moodle. You decide when to upgrade, so watch
Moodle's releases for security fixes.
To have Wodby keep Moodle up to date instead, use the Moodle stack.