Sign inSign up

brandkern/moodle

By brandkern

•Updated over 1 year ago

Production-ready Moodle 4.5.x Docker image with automatic updates. Maintained by Evomation.

Image
Content management system
0

3.6K

brandkern/moodle repository overview

⁠Moodle Docker Image (4.5.x)

This repository builds a Docker image for Moodle⁠ 4.5.x, based on the official source code from the Moodle GitHub repository.

It is intended for use in production and automated environments, and is maintained by Evomation⁠ and published under the brandkern⁠ Docker Hub organization by Evomation.

ā āš ļø Disclaimer

This image and documentation are provided "as is", without warranty of any kind. Use at your own risk. No liability or responsibility is accepted for correctness, completeness, or potential damage caused by the use of this software.


ā šŸ“¦ Available Docker Image

🧊 Docker Hub: brandkern/moodle⁠

TagDescription
4.5-latestAlways points to the latest v4.5.x release
v4.5.3 (etc.)Pinned to a specific Moodle release

⁠🧱 Features

  • Based on php:8.3-apache⁠ (Debian)
  • Pulls the latest v4.5.x Moodle release automatically
  • Includes all required PHP extensions
  • Supports MariaDB / MySQL
  • Production-ready structure
  • Works with docker run or docker-compose

ā šŸš€ Usage

⁠🐳 Basic Run Example
docker run -d -p 8080:80 \
  -e DB_HOST=db \
  -e DB_NAME=moodle \
  -e DB_USER=moodleuser \
  -e DB_PASS=secret \
  -e WWWROOT=http://localhost:8080 \
  -v $(pwd)/moodledata:/var/www/moodledata \
  brandkern/moodle:4.5-latest

You need to provide a MariaDB (recommended version: 11.3) or MySQL container separately. You find docker-compose.yml example in the compose subfolder in this project.


ā āš™ļø Environment Variables

VariableRequiredDescription
DB_HOSTāœ…Hostname of the database
DB_NAMEāœ…Moodle database name
DB_USERāœ…Database username
DB_PASSāœ…Database password
WWWROOTāœ…Public URL of your Moodle instance

ā šŸ•’ Cron Job Support

Moodle requires a background task runner to execute scheduled maintenance tasks such as sending emails, cleaning up sessions, and running plugin jobs.

This repository includes a dedicated moodle-cron container that automatically runs cron.php every 60 seconds.

To enable it, simply use the included docker-compose.yml⁠ setup. The cron container is already configured.

You can verify that it's running with:

docker-compose ps

And view its logs with:

docker logs -f moodle-cron

ā šŸ”„ Auto-Updating

This image is automatically rebuilt using GitHub Actions when a new Moodle v4.5.x release is published.
The current version is stored in .latest-4.5-version and passed into the Docker build as MOODLE_TAG.


ā šŸ¤ Maintainer

This image is built and maintained by
Michael Meese / Evomation
šŸ”— www.evomation.de⁠
šŸ‹ Published on Docker Hub as brandkern/moodle⁠


ā šŸ“„ License

This image uses official Moodle source code (GPLv3).
The Docker build files and automation are provided under the MIT license.

Tag summary

Content type

Image

Digest

sha256:20c58e55e…

Size

504.5 MB

Last updated

over 1 year ago

docker pull brandkern/moodle:v4.5.4