Skip to content

oksigenia/moodle · Moodle™ Docker image

Open sourceEducationInfrastructure and tools

Moodle™ in Docker, kept current every week

It ships Moodle™'s code unmodified, with Apache and PHP set up the way Moodle recommends. To move from Bitnami you change the image line: the site updates, keeps its plugins and, before touching anything, the image backs up the database and the code.

bash — ~/campus

A test site on Bitnami's Moodle™ 5.0.2, with a plugin installed

sed -i 's|bitnamilegacy/moodle:5.0.2|oksigenia/moodle:5.2|' compose.yaml

docker compose pull moodle && docker compose up -d moodle

Container campus-moodle-1 Recreated

Container campus-moodle-1 Started

docker compose logs -f moodle

…

[moodle] Updating Moodle code: 5.0.2 (Build: 20250811) -> 5.2.3 (Build: 20260914)

[moodle] Using the existing config.php (database settings come from it)

Before touching anything, a copy of the code and the database

[moodle] Backing up the current code to …/backups/20261003T164653Z/code.tar.gz

[moodle] Backing up the database to …/backups/20261003T164653Z/database.sql.gz

[moodle] Keeping add-on block_xp (blocks/xp -> public/blocks/xp)

[moodle] Upgrading the Moodle database

[moodle] Database upgrade finished

docker compose ps moodle

campus-moodle-1 oksigenia/moodle:5.2 Up 58 seconds (healthy)

A Bitnami Moodle™ moves to oksigenia/moodle by changing one line: backup first, plugin kept, upgraded to 5.2

Who it is for

  • Schools running their own Moodle™
  • Universities and academies
  • Sysadmins
  • Former Bitnami users

What it does

  1. From Bitnami in one line

    Swap the image and you're done. Every build is tested against real Bitnami volumes.

  2. Updating is changing the tag

    The tag really updates Moodle™, and every branch is rebuilt weekly with Debian and PHP patches.

  3. Signed and scanned

    Signed with cosign, with SBOM and provenance. Trivy blocks publication if there is a critical issue with a fix available.

  4. Accessibility with one variable

    It includes Oksigenia Access, switched off. With OKSIGENIA_ACCESS=on, your Moodle™ gets an accessibility panel.

  • amd64 · arm64

    architectures

  • Semanal

    rebuild

  • cosign

    signed images

  • GPL-3.0

    licence

Standard

  • Apache and cron run without root
  • SBOM and provenance in every image
  • Docs in Spanish and English

Pricing

Free · open source

Licence: GPL-3.0