Central de Ajuda

Moodle + MariaDB + Redis

Moodle é a plataforma de aprendizagem online mais utilizada em instituições educacionais: cursos, matriculas, avaliações, notas e acompanhamento de estudantes.

Este Stack instala o Moodle com MariaDB e Redis. O cache em memória é especialmente importante aqui, porque a carga do Moodle se concentra em picos: todos os estudantes entram ao mesmo tempo.

Serviços incluídos

Além da aplicação, o Stack levanta MariaDB, Moodle, Redis, um nginx que recebe o tráfego na porta 80, um serviço de backups automáticos e o gerenciador de arquivos web.

Estrutura do projeto

text
.
├── backup
│   └── backup-runner.sh
├── health
│   └── status.py
├── nginx
│   └── default.conf
├── .env.example
└── compose.yaml

Como iniciar

Instale o Stack e inicie-o:

bash
docker-deploy-stack --stack php/moodle-mariadb-redis
cd /root/stack/php/moodle-mariadb-redis
docker compose up -d

Esta é uma aplicação pronta para uso: não é necessário enviar código. Os temas, plugins, extensões e arquivos que você enviar pelo painel de administração são salvos no Stack e entram nos backups automáticos.

Configuração

Os valores editáveis estão no arquivo .env do Stack:

Variável Padrão Para que serve
APP_PORT 80 Porta pública do Stack.
APP_ENV development Ambiente da aplicação.
DB_NAME moodle Nome do banco de dados.
DB_USER moodle Usuário do banco de dados.
BACKUP_ENABLED 1 Backups automáticos: 1 ativados, 0 desativados.
BACKUP_INTERVAL_SECONDS 86400 A cada quantos segundos é feito um backup.
BACKUP_RETENTION_DAYS 7 Quantos dias os backups são mantidos.
MARIADB_VERSION 11.4 Versão da imagem correspondente.
MOODLE_VERSION latest Versão da imagem correspondente.
NGINX_VERSION stable-alpine Versão da imagem correspondente.
REDIS_VERSION 7-alpine Versão da imagem correspondente.

Depois de alterar, aplique as mudanças com docker compose up -d.

Comandos úteis

bash
docker compose ps          # ver os contêineres que estão em execução
docker compose logs -f     # ver os logs em tempo real
docker compose restart     # reiniciar os serviços
docker compose down        # parar e remover os contêineres
Guia g.0303 · Versão de origem 1 · pt-BR