← Back to plugins Local

Alternative File System

Store Moodle files on Amazon S3 or DigitalOcean Spaces, saving disk space and maintaining compatibility with the File API.

Frankenstyle local_alternative_file_system
Category Local
Reported sites 74 sites
Screenshot of Alternative File System

About Alternative File System

Sistema de Arquivos Alternativo

Mova moodledata/filedir para a nuvem e faça o Moodle servir/ler arquivos diretamente do armazenamento remoto, reduzindo a pressão sobre discos locais e facilitando a escalabilidade.

✅ Suportado hoje
AWS S3 e DigitalOcean Spaces (compatível com S3).
🚀 Foco
Ambientes grandes, clusters, alta disponibilidade e crescimento sem dor.
Dica: se você já usa tool_objectfs, existe um caminho de migração pensado para uma transição tranquila.
Resultados práticos
Amigável à infraestrutura
💾
Menos disco local
Tira pressão do armazenamento do servidor e simplifica as operações.
📈
Escale sem migrações dolorosas
Aumente a capacidade no bucket/Space, sem “troca surpresa de disco”.
🛡️
Mais resiliência
Alta disponibilidade e durabilidade típicas de armazenamento de objetos.
Desempenho (com CDN, quando aplicável)
Arquivos em S3/Spaces podem se beneficiar de CDN e entrega na borda.

Ideal para sites com grande volume de arquivos e necessidade de reduzir o “custo de disco” do Moodle.
🔒 Segurança e governança
Controle acessos e políticas diretamente no bucket/Space: criptografia, auditoria, permissões de menor privilégio e isolamento de ambientes.
🧩 Simplicidade operacional
Menos manutenção de disco local, menos impacto de atualizações de infraestrutura e escalabilidade mais previsível.
🌍 Pronto para distribuição
Ótimo para cenários com cluster e ambientes com múltiplos nós: o armazenamento de objetos passa a ser o “ponto comum” compartilhado dos arquivos.

O que este plugin faz

O Moodle armazena arquivos em moodledata/filedir. Em ambientes grandes, isso vira um ponto crítico de custo e complexidade: discos locais crescendo sem parar, backups mais pesados, expansão forçada de armazenamento e risco operacional.

Com o Sistema de Arquivos Alternativo, você move esses arquivos para armazenamento remoto (por exemplo, AWS S3 ou DigitalOcean Spaces), e o Moodle passa a ler/servir os arquivos remotamente.

Resultado: uma base de arquivos mais escalável e resiliente, com operações de infraestrutura mais simples e previsíveis.

Atenção: ativação no config.php
Para o Moodle usar este sistema de arquivos, configure a classe alternativa em config.php (antes de setup.php). Veja o exemplo mais abaixo na seção “Configuração rápida”.
Compatibilidade / Armazenamento
  • AWS S3 Suportado
  • DigitalOcean Spaces Suportado
  • Compatível com S3 Depende do endpoint
  • CDN Opcional
Se quiser, também é possível adaptar para outros provedores compatíveis com S3 (apenas endpoint + credenciais).

Recursos disponíveis

📦 Migração do filedir
Move seus arquivos existentes de moodledata/filedir para a nuvem, com um processo controlado e verificável.
🔁 Migração a partir do tool_objectfs
O plugin consegue ler a tool_objectfs configuração e facilitar a transição (sem reinventar tudo do zero).
🧠 Menos gargalos de armazenamento local
Reduz o crescimento do disco local e o impacto de manutenção/expansão física do servidor.
🌐 Melhor entrega global (quando usando CDN)
Armazenamento remoto + CDN pode reduzir latência e melhorar a experiência de estudantes em diferentes regiões.
🔐 Boas práticas de segurança
Permissões de menor privilégio, chaves rotacionáveis, políticas de bucket/Space e opções de criptografia em trânsito/em repouso.
🧰 Operações previsíveis
O armazenamento vira um serviço: mais fácil planejar custo, capacidade, redundância e disponibilidade.

Configuração rápida (visão geral)

1) Escolha o destino (S3 / Spaces) e configure as credenciais
Crie o bucket/Space e gere as chaves de acesso. Siga o princípio do menor privilégio (somente a leitura/escrita necessária).
2) Aponte o Moodle para o Sistema de Arquivos Alternativo
Em config.php, antes de setup.php, adicione:
Exemplo:
$CFG->alternative_file_system_class = "\\local_alternative_file_system\\external_file_system";

require_once(__DIR__ . '/lib/setup.php');
Dica
Comece primeiro em homologação, valide leitura/entrega de arquivos e só então replique o processo em produção.
Checklist antes de ir para produção
  • Bucket/Space criado e região definida
  • Credenciais criadas com permissões de menor privilégio
  • Endpoint e bucket/space confirmados
  • Testes de leitura (arquivos de curso, imagens, PDFs)
  • Plano de rollback e backups
  • Monitoramento (erros, latência, custos)

Migração: escolha seu cenário

Cenário A

filedir → nuvem

Para quem usa o armazenamento padrão (local) e quer mover tudo de moodledata/filedir para S3/Spaces.

  1. Configure o destino (Amazon S3 ou DigitalOcean Spaces).
  2. Use a página de configuração do plugin para iniciar a migração dos arquivos existentes.
  3. Valide leitura e entrega de arquivos (cursos de exemplo + tipos de arquivo).

Cenário B

tool_objectfs → plugin

Para quem já usa tool_objectfs e quer migrar para local_alternative_file_system.

  1. Enquanto o Moodle ainda aponta para \tool_objectfs\..., abra as configurações deste plugin.
  2. O plugin pode detectar/importar configurações do tool_objectfs e executar testes.
  3. Quando tudo estiver OK, altere $CFG->alternative_file_system_class para este plugin.
Related

Other Moodle plugins

Screenshot of Kopere Dashboard

Kopere Dashboard

local_kopere_dashboard

Kopere Dashboard is a tool panel with reports, online users, backup, notifications and more.

2546 sites Details →
Screenshot of GeniAI

GeniAI

local_geniai

The GeniAI plugin for Moodle revolutionizes student-course interaction by providing an intelligent virtual assistant to instantly clarify doubts. The assistant offers contextual support, responds to questions in various languages, and adapts to the specific needs of each discipline.

412 sites Details →
Screenshot of Helpdesk and Knowledge base

This plugin that provides a ticketing system for managing helpdesk requests. It allows users to create and track tickets while enabling administrators and support teams to manage and respond efficiently.

365 sites Details →