
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://github.com/tesudacochino/moodle/actions/workflows/docker-publish.yml/badge.svg](https://github.com/tesudacochino/moodle/actions/workflows/docker-publish.yml) https://img.shields.io/docker/v/tesudacochino/moodle?label=Docker%20Hub&logo=docker](https://hub.docker.com/r/tesudacochino/moodle)
Stack Docker completo para Moodle LMS basado en moodlehq/moodle-php-apache:8.2,
con código de Moodle descargado directamente desde GitHub en tiempo de build.
| Servicio | Imagen | Puerto |
|---|---|---|
| Moodle (PHP 8.2 + Apache) | tesudacochino/moodle:<version> | 8080 |
| PostgreSQL 17 | postgres:17-alpine | interno |
| Redis 7 | redis:7-alpine | interno |
bash# Copiar y editar el archivo de configuración cp .env.example .env
Edita .env y cambia al menos:
MOODLE_ADMIN_PASS — contraseña del adminDB_PASS — contraseña de PostgreSQLMOODLE_WWWROOT — URL de acceso (si no es localhost)bashmake build # Build de la imagen (descarga Moodle desde GitHub, ~5 min) make up # Levanta el stack completo make logs # Ver el progreso de instalación
La primera vez Moodle instala la base de datos automáticamente. Accede en: http://localhost:8080
bashmake help # Ver todos los comandos con descripción make up # Levantar el stack make down # Parar el stack make restart # Reiniciar contenedores make status # Estado de los contenedores make logs # Logs en tiempo real make shell # Bash en el contenedor Moodle make shell-db # psql en PostgreSQL make backup # Backup de BD + moodledata → ./backups/ make restore DB=backups/db_XXX.sql.gz # Restaurar backup make purge # Purgar caches de Moodle make info # Info del entorno
bash./scripts/update-moodle.sh MOODLE_500_STABLE
El script hace backup automático, actualiza la versión, rebuilda y ejecuta la migración de BD.
bash# 1. Backup de seguridad (¡no saltarse este paso!) make backup # 2. Cambiar versión en .env # Edita .env y cambia MOODLE_VERSION=MOODLE_500_STABLE # 3. Rebuild de la imagen (descarga la nueva versión de GitHub) make rebuild # 4. Aplicar upgrade de base de datos make upgrade
| Rama Git | Versión Moodle | Soporte |
|---|---|---|
MOODLE_500_STABLE | 5.0.x | ✅ Última versión |
MOODLE_405_STABLE | 4.5.x | LTS ✅ Recomendada |
MOODLE_404_STABLE | 4.4.x | Activa |
MOODLE_403_STABLE | 4.3.x | Solo seguridad |
Añade plugins a plugins.txt y ejecuta:
bashmake install-plugins make upgrade # Para registrar los nuevos plugins en la BD
Formato de plugins.txt:
# tipo/nombre url_repositorio rama mod/attendance https://github.com/danmarsden/moodle-mod_attendance MOODLE_500_STABLE theme/moove https://github.com/willianmano/moodle-theme-moove MOODLE_500_STABLE
.env)| Variable | Default | Descripción |
|---|---|---|
MOODLE_VERSION | MOODLE_500_STABLE | Rama de Moodle a usar |
MOODLE_WWWROOT | http://localhost:8080 | URL pública de Moodle |
MOODLE_ADMIN_USER | admin | Usuario administrador |
MOODLE_ADMIN_PASS | Admin1234! | Contraseña admin |
MOODLE_LANG | es | Idioma por defecto |
DB_NAME | moodle | Nombre de la BD |
DB_USER | moodle | Usuario de BD |
DB_PASS | moodle | Contraseña de BD |
HTTP_PORT | 8080 | Puerto HTTP del host |
Moodle 5.0 en este stack permite configurar el correo directamente desde variables de entorno. Descomenta y ajusta en tu .env:
SMTP_HOSTS: Servidor SMTP (ej: smtp.gmail.com:587)SMTP_USER: Usuario (ej: tu-correo@gmail.com)SMTP_PASS: Contraseña o App PasswordSMTP_SECURE: tls o sslSMTP_NOREPLY_ADDRESS: Dirección de remitente para notificacionesEl cron de Moodle está integrado en el contenedor. Se ejecuta cada minuto automáticamente. Puedes ver el log del cron con:
bashdocker exec -it moodle tail -f /var/log/moodle-cron.log
Los backups se guardan en ./backups/ con timestamp:
db_YYYYMMDD_HHMMSS.sql.gz — Volcado de PostgreSQLmoodledata_YYYYMMDD_HHMMSS.tar.gz — Archivos de Moodlemoodlehq/moodle-php-apache está pensado para desarrollo/staging, no producción.MOODLE_SSLPROXY=true) y contraseñas fuertes.config.php se genera dinámicamente y hereda las variables del sistema.cron inyecta las variables de entorno necesarias desde /etc/environment.El cron no envía correos
Verifica que las variables SMTP_* en el .env son correctas y reinicia el stack:
bashmake restart
Permisos de archivos
Si editas archivos manualmente, asegúrate de que pertenecen a www-data:
bashdocker exec -it moodle chown -R www-data:www-data /var/www/html
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 molero/moodle 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: