Moodle con Docker es una forma práctica de crear un entorno de desarrollo, pruebas o validación técnica sin tener que configurar manualmente Apache, PHP, MySQL y certificados locales en tu máquina.
Qué vas a montar con Moodle con Docker
En esta guía vas a montar Moodle 4.5 con una arquitectura separada en tres servicios: Apache como servidor web, PHP-FPM para ejecutar Moodle y MySQL como base de datos.
El entorno también incluye volúmenes persistentes para conservar el código de Moodle, la base de datos y el directorio moodledata, además de HTTPS local mediante mkcert.
La idea no es solo levantar Moodle, sino entender qué hace cada pieza y qué deberías revisar antes de adaptar una instalación similar a producción.
Al final tendrás:
- Un entorno local de Moodle 4.5 funcionando con Docker.
- Una arquitectura separada en Apache, PHP-FPM y MySQL.
- Un directorio
moodledatapersistente. - HTTPS local con certificados generados mediante
mkcert. - Un fichero
docker-compose.ymlreutilizable. - Una base técnica para probar plugins, themes e integraciones Moodle.
Este tutorial está pensado para desarrolladores, administradores Moodle, responsables técnicos de plataformas LMS y equipos EdTech que necesitan un entorno controlado para desarrollo, pruebas o validación técnica.
Importante: esta guía está orientada principalmente a desarrollo. Un Moodle de producción necesita seguridad, backups, monitorización, cron, caché, correo transaccional, actualizaciones y hardening del sistema.
Índice de contenidos
- Qué vas a montar con Moodle con Docker
- Qué es Moodle y por qué sigue siendo relevante
- Moodle con Docker: cuándo tiene sentido usarlo
- Arquitectura de Moodle con Docker
- Requisitos previos
- Estructura de carpetas del proyecto
- docker-compose.yml para Moodle con Docker
- Dockerfile PHP para Moodle
- Configuración PHP para Moodle
- Configuración de Apache
- HTTPS local con mkcert
- Descargar Moodle 4.5
- Arrancar los contenedores
- Instalar Moodle desde el navegador
- Configurar el cron de Moodle
- Recursos oficiales para trabajar con Moodle con Docker
- Qué cambiar antes de producción
- Errores frecuentes al montar Moodle con Docker
- Preguntas frecuentes sobre Moodle con Docker
- Conclusión
Qué es Moodle y por qué sigue siendo relevante
Moodle es una plataforma LMS open source utilizada para crear, gestionar y evaluar experiencias de aprendizaje online. Permite organizar cursos, matricular usuarios, publicar recursos, crear actividades, evaluar mediante cuestionarios, gestionar calificaciones, emitir informes y ampliar la plataforma mediante plugins.
Su principal ventaja es que no es una herramienta cerrada. Moodle puede adaptarse a instituciones educativas, universidades, centros de formación, administraciones públicas y empresas que necesitan una plataforma de aprendizaje flexible, integrable y mantenible.
Desde el punto de vista técnico, Moodle es una aplicación PHP que trabaja sobre una base de datos relacional. Por eso, para ejecutarlo correctamente, necesitamos preparar un entorno con servidor web, PHP, base de datos, almacenamiento persistente y configuración adecuada para ficheros, sesiones, extensiones y tareas programadas.
En este artículo vamos a trabajar con Moodle 4.5, Apache, PHP-FPM y MySQL. Aunque existen otras combinaciones posibles, esta arquitectura es muy útil para aprender cómo se conectan las piezas principales de una instalación Moodle moderna.
Moodle con Docker: cuándo tiene sentido usarlo
Moodle con Docker tiene sentido cuando necesitas levantar un entorno reproducible sin contaminar tu sistema operativo con versiones concretas de PHP, MySQL, Apache o extensiones adicionales.
Docker no convierte automáticamente una instalación en segura, escalable o preparada para producción. Lo que sí aporta es una forma ordenada de definir los servicios, sus dependencias, sus volúmenes y sus variables de configuración.
Un entorno de Moodle con Docker resulta especialmente útil cuando necesitas probar plugins, validar actualizaciones, desarrollar themes o preparar una demo sin tocar una plataforma Moodle real.
En proyectos Moodle, este enfoque resulta especialmente útil para:
- Probar plugins sin tocar una instalación real.
- Desarrollar themes personalizados.
- Validar integraciones con LTI, SCORM, xAPI o sistemas externos.
- Preparar pruebas de actualización entre versiones.
- Reproducir errores de cliente en un entorno controlado.
- Formar a equipos técnicos en administración Moodle.
- Crear entornos temporales de demostración.
La ventaja más importante no es “usar Docker porque sí”, sino poder documentar la arquitectura como código. Si otra persona del equipo clona el repositorio y ejecuta los mismos comandos, debería poder llegar a un entorno equivalente.
Arquitectura de Moodle con Docker
Para montar Moodle con Docker vamos a separar la arquitectura en tres servicios principales:
- Apache, como servidor web encargado de recibir las peticiones HTTP y HTTPS.
- PHP-FPM, como servicio encargado de ejecutar el código PHP de Moodle.
- MySQL, como base de datos relacional donde Moodle guardará usuarios, cursos, actividades, calificaciones, configuración y registros internos.
Además, usaremos volúmenes para conservar los datos aunque los contenedores se detengan o se eliminen:
./application/moodle: código fuente de Moodle../application/moodledata: archivos subidos, cachés y datos generados por Moodle../application/mysql_data: datos persistentes de MySQL../application/ssl: certificados locales para HTTPS.
Cómo fluye una petición en Moodle con Docker
Cuando un usuario accede al Moodle local desde el navegador, la petición llega primero a Apache. Si la petición corresponde a un archivo PHP, Apache la envía a PHP-FPM mediante FastCGI.
Después, PHP-FPM ejecuta Moodle, consulta MySQL si es necesario y devuelve la respuesta generada a Apache. Finalmente, Apache entrega la página al navegador.
Este desacoplamiento permite que el servidor web y el proceso PHP tengan responsabilidades separadas. En entornos reales, esta separación facilita ajustes de rendimiento, diagnóstico de errores y evolución hacia arquitecturas más escalables.

Requisitos previos
Antes de empezar, conviene comprobar que tienes las herramientas necesarias instaladas y que tu equipo tiene recursos suficientes.
- Docker Desktop en Windows o macOS, o Docker Engine en Linux.
- Docker Compose V2, usando el comando
docker compose. - Git, para descargar Moodle desde el repositorio oficial.
- Un editor de código como Visual Studio Code, PhpStorm o similar.
- Al menos 4 GB de RAM disponibles para Docker en desarrollo local.
- Conocimientos básicos de terminal, YAML y estructura de proyectos web.
Para una máquina local de desarrollo, 4 GB de RAM asignados a Docker suelen ser suficientes para trabajar con comodidad. Para producción, la estimación cambia por completo: dependerá de usuarios concurrentes, cursos, tamaño de archivos, plugins instalados, estrategia de caché, base de datos, backups y monitorización.
También conviene revisar los requisitos oficiales de Moodle antes de fijar versiones. En Moodle 4.5, PHP 8.3 es una opción válida, MySQL 8.0 es la versión mínima y el parámetro max_input_vars debe estar configurado como mínimo en 5000.
Estructura de carpetas del proyecto
Vamos a crear una estructura simple, fácil de entender y suficiente para un entorno local de pruebas.
moodle-45-docker/
├── apache/
│ └── conf/
│ └── httpd.conf
├── application/
│ ├── moodle/
│ ├── moodledata/
│ ├── mysql_data/
│ └── ssl/
├── docker-compose.yml
├── Dockerfile.php
└── php.ini
Crea la estructura con estos comandos:
mkdir -p moodle-45-docker/apache/conf
mkdir -p moodle-45-docker/application/moodle
mkdir -p moodle-45-docker/application/moodledata
mkdir -p moodle-45-docker/application/mysql_data
mkdir -p moodle-45-docker/application/ssl
cd moodle-45-docker
Esta separación ayuda a distinguir configuración, aplicación, datos persistentes y certificados. Es una decisión sencilla, pero muy útil cuando el entorno empieza a crecer.
docker-compose.yml para Moodle con Docker
Para que una instalación de Moodle con Docker sea mantenible, conviene separar claramente los servicios, los volúmenes persistentes y los ficheros de configuración.
El fichero docker-compose.yml define los servicios necesarios para levantar Moodle. En versiones modernas de Docker Compose ya no es necesario declarar version: "3.8"; Compose V2 usa la Compose Specification y la propiedad version se mantiene solo por compatibilidad.
Crea un fichero llamado docker-compose.yml en la raíz del proyecto con este contenido:
name: moodle45-local
services:
apache:
image: httpd:2.4
container_name: moodle_apache
ports:
- "80:80"
- "443:443"
volumes:
- ./apache/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf:ro
- ./application/moodle:/var/www/moodle
- ./application/ssl:/etc/ssl/certs:ro
networks:
- moodle_network
depends_on:
- php
php:
build:
context: .
dockerfile: Dockerfile.php
container_name: moodle_php
volumes:
- ./application/moodle:/var/www/moodle
- ./application/moodledata:/var/www/moodledata
- ./php.ini:/usr/local/etc/php/conf.d/custom.ini:ro
environment:
TZ: Europe/Madrid
networks:
- moodle_network
mysql:
image: mysql:8.0
container_name: moodle_mysql
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: moodle
MYSQL_USER: moodleuser
MYSQL_PASSWORD: moodlepassword
TZ: Europe/Madrid
volumes:
- ./application/mysql_data:/var/lib/mysql
networks:
- moodle_network
networks:
moodle_network:
driver: bridge
Este fichero crea tres contenedores conectados a una misma red interna. Apache queda expuesto en los puertos 80 y 443, PHP-FPM queda disponible dentro de la red Docker y MySQL solo se comunica con Moodle desde la red interna.
Para un entorno local, las contraseñas del ejemplo son suficientes como punto de partida. Para cualquier entorno compartido o accesible desde internet, deben sustituirse por secretos reales y una estrategia de gestión de credenciales adecuada.
Dockerfile PHP para Moodle
Moodle necesita varias extensiones PHP para funcionar correctamente. En lugar de usar una imagen genérica sin control, vamos a crear una imagen PHP-FPM personalizada con las extensiones necesarias.
Crea el fichero Dockerfile.php en la raíz del proyecto:
FROM php:8.3-fpm
RUN apt-get update && apt-get install -y \
git \
unzip \
libzip-dev \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libicu-dev \
libxml2-dev \
libxslt1-dev \
libonig-dev \
libcurl4-openssl-dev \
libssl-dev \
libldap2-dev \
libsodium-dev \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install \
mysqli \
pdo_mysql \
zip \
gd \
intl \
soap \
xsl \
mbstring \
exif \
opcache \
sodium \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /var/www/moodle
Este Dockerfile instala PHP 8.3 y extensiones habituales en instalaciones Moodle. Dependiendo de tus plugins, puedes necesitar extensiones adicionales, pero esta base cubre un escenario de desarrollo bastante completo.
Configuración PHP para Moodle
La configuración de PHP es una parte crítica de Moodle. No basta con que PHP arranque: hay límites de memoria, subida de archivos, tiempo de ejecución y variables de entrada que pueden afectar directamente a formularios, copias de seguridad, restauraciones de cursos y administración de plugins.
Crea un fichero php.ini en la raíz del proyecto:
memory_limit = 512M
upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 300
max_input_vars = 5000
max_file_uploads = 50
date.timezone = Europe/Madrid
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 2
opcache.validate_timestamps = 1
En desarrollo, opcache.validate_timestamps = 1 permite que los cambios en el código se detecten sin reiniciar constantemente PHP-FPM. En producción, los valores de OPcache deberían revisarse con una política más conservadora y adaptada al despliegue.
Configuración de Apache
Apache actuará como servidor web y enviará las peticiones PHP al contenedor moodle_php. Para ello necesitamos cargar los módulos adecuados y configurar un VirtualHost HTTPS.
Módulos y configuración base de Apache
Crea el fichero apache/conf/httpd.conf y añade primero esta configuración base:
ServerRoot "/usr/local/apache2"
Listen 80
Listen 443
LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule dir_module modules/mod_dir.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule headers_module modules/mod_headers.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule alias_module modules/mod_alias.so
User www-data
Group www-data
DocumentRoot "/var/www/moodle"
<Directory "/var/www/moodle">
Options +FollowSymLinks
AllowOverride All
Require all granted
DirectoryIndex index.php
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://moodle_php:9000"
</FilesMatch>
VirtualHost HTTP con redirección a HTTPS
Después añade el VirtualHost para redirigir las peticiones HTTP hacia HTTPS:
<VirtualHost *:80>
ServerName localhost
Redirect permanent / https://localhost/
</VirtualHost>
VirtualHost HTTPS para Moodle
Por último, añade el VirtualHost HTTPS. Este bloque activa SSL, apunta a los certificados locales y envía las peticiones PHP al contenedor PHP-FPM.
<VirtualHost *:443>
ServerName localhost
DocumentRoot "/var/www/moodle"
SSLEngine on
SSLCertificateFile /etc/ssl/certs/localhost.pem
SSLCertificateKeyFile /etc/ssl/certs/localhost-key.pem
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://moodle_php:9000/var/www/moodle/$1
<Directory "/var/www/moodle">
Options +FollowSymLinks -Indexes
AllowOverride All
Require all granted
DirectoryIndex index.php
RewriteEngine On
RewriteRule "(\/vendor\/)" - [F]
RewriteRule "(\/node_modules\/)" - [F]
RewriteRule "(^|/)\.(?!well-known\/)" - [F]
RewriteRule "(composer\.json)" - [F]
RewriteRule "(\.lock)" - [F]
RewriteRule "(\/environment.xml)" - [F]
RewriteRule "(\/install.xml)" - [F]
RewriteRule "(\/README)" - [F]
RewriteRule "(\/readme)" - [F]
RewriteRule "(\/moodle_readme)" - [F]
RewriteRule "(\/upgrade\.txt)" - [F]
RewriteRule "(phpunit\.xml\.dist)" - [F]
RewriteRule "(\/tests\/behat\/)" - [F]
RewriteRule "(\/fixtures\/)" - [F]
</Directory>
</VirtualHost>
ErrorLog /proc/self/fd/2
CustomLog /proc/self/fd/1 combined
Esta configuración es suficiente para desarrollo local. Además, añade algunas reglas básicas para evitar el acceso directo a directorios y archivos sensibles. Aun así, no sustituye una revisión de seguridad completa para producción.
HTTPS local con mkcert
Moodle trabaja mejor cuando el entorno se parece lo máximo posible al entorno real. Por eso, incluso en local, es recomendable usar HTTPS. Para evitar certificados autofirmados con errores en el navegador, usaremos mkcert.
En macOS puedes instalarlo con Homebrew:
brew install mkcert
brew install nss
En Windows puedes instalarlo con Chocolatey:
choco install mkcert
En Linux, primero instala las herramientas NSS si son necesarias y después instala mkcert según tu distribución:
sudo apt install libnss3-tools
Después instala la autoridad local de confianza:
mkcert -install
Y genera los certificados para localhost dentro del directorio application/ssl:
mkcert \
-key-file application/ssl/localhost-key.pem \
-cert-file application/ssl/localhost.pem \
localhost 127.0.0.1 ::1
Recuerda que mkcert genera certificados confiables para desarrollo local, pero no configura Apache por ti. Por eso hemos montado los certificados en el contenedor y los hemos referenciado en el VirtualHost HTTPS.
Descargar Moodle 4.5
Para descargar Moodle, puedes usar Git y clonar la rama correspondiente. En este ejemplo usamos la rama estable de Moodle 4.5:
git clone -b MOODLE_405_STABLE https://github.com/moodle/moodle.git application/moodle
Si el directorio application/moodle ya existe y no está vacío, puedes clonarlo en una carpeta temporal y mover el contenido después.
También puedes descargar Moodle desde la web oficial, pero para entornos técnicos Git suele ser más cómodo porque facilita comprobar ramas, aplicar actualizaciones y trabajar con control de versiones.
Arrancar los contenedores
Una vez preparados los ficheros, puedes construir y levantar el entorno con:
docker compose up -d --build
Comprueba que los contenedores están en ejecución:
docker compose ps
También puedes revisar los logs si algo falla:
docker compose logs -f apache
docker compose logs -f php
docker compose logs -f mysql
Si todo ha ido bien, deberías poder acceder a Moodle desde:
https://localhost
Instalar Moodle desde el navegador
Al acceder a https://localhost, Moodle iniciará el asistente de instalación. Durante el proceso tendrás que elegir idioma, confirmar rutas y configurar la base de datos.
En el paso de base de datos, usa estos valores:
| Campo | Valor |
| Tipo de base de datos | MySQL mejorado / mysqli |
| Servidor | mysql |
| Nombre de base de datos | moodle |
| Usuario | moodleuser |
| Contraseña | moodlepassword |
| Prefijo de tablas | mdl_ |
| Puerto | 3306 |
El nombre del servidor de base de datos es mysql porque ese es el nombre del servicio definido en docker-compose.yml. Docker Compose permite que los contenedores se resuelvan entre sí usando el nombre del servicio dentro de la misma red.
Después, Moodle comprobará requisitos, instalará tablas y te pedirá configurar el usuario administrador. Cuando termine el proceso, ya tendrás un Moodle 4.5 funcional en tu entorno local.
Configurar el cron de Moodle
Un Moodle sin cron no está completo. Las tareas programadas gestionan procesos internos como envíos de notificaciones, procesamiento de colas, limpieza de sesiones, actividades programadas y mantenimiento interno.
Para ejecutar el cron manualmente dentro del contenedor PHP:
docker compose exec php php /var/www/moodle/admin/cli/cron.php
En desarrollo puedes ejecutarlo manualmente cuando lo necesites. En producción debe configurarse como tarea programada real, normalmente cada minuto, según la documentación oficial de Moodle y las necesidades de la plataforma.
Una opción simple para desarrollo es añadir un servicio específico para cron, aunque para este tutorial lo mantenemos manual para no complicar la primera instalación.
Recursos oficiales para trabajar con Moodle con Docker
Antes de adaptar este entorno a tus necesidades, conviene revisar la documentación oficial de las tecnologías utilizadas:
- Requisitos técnicos oficiales de Moodle 4.5
- Documentación oficial para instalar Moodle
- Documentación oficial de Docker Compose
- Repositorio oficial de mkcert
Estos enlaces salientes ayudan a contrastar versiones, requisitos, opciones de instalación y buenas prácticas antes de convertir este entorno en una base de trabajo real.
Qué cambiar antes de producción
Aunque este entorno de Moodle con Docker puede servir como base técnica, no debería publicarse en producción sin revisar credenciales, permisos, backups, cron, HTTPS real y monitorización.
Montar Moodle en local es una cosa. Publicar Moodle para usuarios reales es otra muy distinta. El entorno de este tutorial es una base técnica, no una receta final de despliegue productivo.
Antes de llevar una instalación Moodle a producción, deberías revisar como mínimo estos puntos:
- Cambiar todas las contraseñas de ejemplo.
- Usar HTTPS real con certificados públicos, no mkcert.
- Configurar correctamente el cron.
- Revisar permisos de
moodledata. - Separar base de datos y aplicación si el proyecto va a crecer.
- Configurar backups automáticos y restauraciones probadas.
- Revisar límites de PHP según el tamaño real de cursos y copias de seguridad.
- Activar monitorización de CPU, memoria, disco, logs y disponibilidad.
- Configurar correo saliente correctamente.
- Revisar plugins instalados, compatibilidad y política de actualización.
- Proteger archivos sensibles y directorios internos.
- Configurar caché, sesiones y almacenamiento según la carga esperada.
En plataformas institucionales, además, hay que valorar cumplimiento normativo, privacidad, retención de datos, roles, autenticación, trazabilidad, integraciones externas y plan de mantenimiento.
¿Vas a llevar Moodle a producción?
Este entorno es una buena base para desarrollo o pruebas, pero una instalación Moodle real necesita arquitectura, seguridad, rendimiento, backups, monitorización, actualizaciones y una política clara de mantenimiento.
Si necesitas instalar, migrar, auditar o securizar Moodle para una institución educativa o empresa, puedo ayudarte a diseñar una solución estable, mantenible y alineada con tus necesidades reales.
Errores frecuentes al montar Moodle con Docker
Moodle no conecta con MySQL
Comprueba que estás usando mysql como servidor de base de datos, no localhost. Dentro de Docker Compose, el nombre correcto es el nombre del servicio definido en el fichero YAML.
El navegador no confía en el certificado
Asegúrate de haber ejecutado mkcert -install y de haber generado los certificados en la ruta correcta. También revisa que Apache esté leyendo exactamente los ficheros localhost.pem y localhost-key.pem.
Problemas de permisos en moodledata
Si Moodle no puede escribir en moodledata, revisa permisos del directorio en el host y dentro del contenedor. En desarrollo puedes ajustar permisos de forma más flexible, pero en producción conviene aplicar una política estricta.
Aviso de max_input_vars
Moodle 4.5 requiere que max_input_vars tenga un valor mínimo de 5000. Si ves un aviso durante la instalación, revisa que el fichero php.ini se esté montando correctamente dentro del contenedor PHP.
Los puertos 80 o 443 ya están ocupados
Si tienes otro servidor web en tu máquina, Docker no podrá usar esos puertos. Puedes cambiar el mapeo en docker-compose.yml, por ejemplo:
ports:
- "8080:80"
- "8443:443"
En ese caso, accederías a Moodle desde https://localhost:8443, ajustando también la configuración si fuera necesario.
Preguntas frecuentes sobre Moodle con Docker
¿Puedo usar este entorno para producción?
Como base técnica, sí. Como despliegue final, no sin revisar seguridad, backups, cron, monitorización, HTTPS real, rendimiento, credenciales y estrategia de actualizaciones.
¿Por qué usar PHP-FPM en lugar de mod_php?
PHP-FPM separa la ejecución PHP del servidor web. Esto facilita la gestión de procesos, mejora el aislamiento y encaja mejor con arquitecturas basadas en contenedores.
¿Puedo usar MariaDB en lugar de MySQL?
Sí, Moodle soporta varias bases de datos, incluida MariaDB. Sin embargo, debes revisar siempre los requisitos exactos de la versión de Moodle que vayas a instalar.
¿Por qué usar mkcert?
Porque permite generar certificados locales confiables para desarrollo. Evita muchos problemas típicos de trabajar con HTTPS falso o certificados autofirmados que el navegador no reconoce.
¿Qué diferencia hay entre docker compose y docker-compose?docker-compose era el comando clásico de Compose V1. En Docker Compose V2 se usa normalmente docker compose, integrado como subcomando de Docker.
¿Necesito ejecutar el cron de Moodle?
Sí. Moodle depende del cron para ejecutar tareas programadas. En desarrollo puedes lanzarlo manualmente, pero en producción debe estar configurado de forma automática.
¿Puedo instalar plugins en este entorno?
Sí. De hecho, uno de los usos más interesantes de este entorno es probar plugins, themes, integraciones y actualizaciones sin afectar a una plataforma real.
Conclusión: Moodle con Docker es una buena base, no el final del camino
Moodle con Docker es una excelente forma de crear un entorno técnico reproducible para desarrollo, pruebas, formación interna o validación de configuraciones. Separar Apache, PHP-FPM y MySQL ayuda a entender mejor cómo funciona Moodle por dentro y facilita mantener cada pieza bajo control.
La clave está en no confundir un entorno funcional con una arquitectura de producción. Levantar Moodle en local es solo el primer paso. Para publicar una plataforma real necesitas pensar en seguridad, rendimiento, backups, monitorización, actualizaciones, cron, correo, caché, autenticación e integraciones.
En definitiva, Moodle con Docker es una excelente opción para crear entornos reproducibles de desarrollo, pruebas y validación técnica, siempre que se entienda la diferencia entre un laboratorio local y una plataforma Moodle lista para producción.
Si estás aprendiendo Moodle o necesitas probar desarrollos, esta arquitectura es una base muy útil. Si estás preparando una plataforma para una institución educativa o una empresa, conviene dar el siguiente paso: diseñar una instalación robusta, mantenible y preparada para crecer.







Deja una respuesta