Gerenciamento de armazenamento
Cada foto que um membro envia, cada arquivo de áudio de pregação, cada PDF de recibo, cada ícone PWA — tudo isso mora no Supabase Storage, e cada organização tem um limite por nível de plano sobre o total. A aba Armazenamento em Configurações → Armazenamento permite que um admin veja exatamente o que está armazenado, onde, e limpe qualquer coisa não mais necessária.
Isto é apenas para admins, e é onde você vai quando o aviso "Armazenamento perto do limite" começa a aparecer no painel.

Abrir a aba Armazenamento
Na barra lateral, clique em Configurações, depois role as abas até Armazenamento. A página tem duas partes:
- Um cartão de Visão geral do uso de armazenamento no topo.
- Um navegador de arquivos abaixo, dividido por bucket.
Visão geral do armazenamento
O cartão de visão geral mostra:
- Total usado vs seu limite de plano (por exemplo, "2,4 GB de 10 GB usados").
- Total de arquivos em todos os buckets.
- Uma barra de progresso que fica amarela aos 80% e vermelha aos 90%.
Limites de plano no momento desta redação:
| Plano | Teto de armazenamento |
|---|---|
| Starter | 1 GB |
| Growth | 10 GB |
| Network | 50 GB |
| Unlimited | 250 GB |
Se você passar do limite, novos uploads falham com erro storage_limit_exceeded. Arquivos existentes continuam servindo — a gente não apaga nada automaticamente.
Buckets
O GCM divide o armazenamento em buckets nomeados por propósito para você ver de relance onde o espaço está indo. Cada bucket é mostrado como um cartão clicável com contagem de arquivos e tamanho:
| Bucket | O que vai aqui |
|---|---|
| member-photos | Fotos de perfil enviadas por membros ou equipe. |
| pwa-icons | Os ícones 192/512 que você define em Configuração PWA. |
| branding | Logo, favicon e qualquer outra imagem definida em Identidade visual. |
| podcast-media | Áudio de pregação + capa para episódios de podcast. |
| website-media | Imagens e arquivos usados no Construtor de site web. |
| giving-receipts | PDFs de extratos fiscais gerados. |
| attendance-photos | Fotos de check-in (se check-in com foto estiver ativado). |
| workflow-attachments | Arquivos anexados a execuções de fluxo de trabalho. |
| message-attachments | Arquivos anexados a mensagens enviadas. |
| forms-uploads | Arquivos que membros enviam via Formulários. |
Clique em qualquer bucket para entrar.
Navegar por um bucket
O navegador de arquivos mostra pastas e arquivos no bucket selecionado. Buckets escopados à organização sempre começam pelo seu ID de organização como pasta de nível superior, então o que você vê já vem escopado — sem risco de ver arquivos de outra organização.
Cada linha mostra:
- Nome do arquivo
- Tamanho (formatado: KB / MB / GB)
- Tipo (imagem, PDF, áudio, vídeo, documento)
- Enviado (tempo relativo — "3 dias atrás", "5 minutos atrás")
- Um botão Baixar e um botão Excluir.
Clique no nome de uma pasta para entrar; clique na seta de voltar para subir. O caminho no topo mostra onde você está.
TIP
O navegador lista arquivos em lotes de 100. Se um bucket tem mais que isso, o fim da lista mostra Carregar mais. Para buckets muito grandes (10.000+ arquivos), o navegador pode levar um momento para renderizar — tenha paciência.
Baixar um arquivo
Clique no ícone de download ao lado de qualquer arquivo. O navegador busca uma URL de download assinada (válida por 60 segundos) e dispara um download. Para buckets públicos, a URL é só o link público do CDN.
Isto é útil para:
- Puxar áudio de pregação para reeditar.
- Baixar um extrato fiscal gerado para enviar manualmente por e-mail.
- Fazer backup de fotos de membros antes de uma exclusão em massa.
Excluir arquivos
Clique no ícone de lixeira para excluir um arquivo. Um diálogo de confirmação pede para confirmar — a exclusão é permanente (não fazemos soft-delete em arquivos de armazenamento; eles realmente vão embora depois deste clique).
Cuidado com os casos especiais:
- Fotos de membros — excluir do armazenamento não remove a referência
photodemembers. O registro do membro ainda alega ter uma foto mas a URL retorna 404. Para fazer isso de forma limpa, edite o membro e limpe a foto na tela de edição do membro, que remove as duas. - Logo de identidade visual / ícone PWA — mesmo problema. Atualize a configuração primeiro via Configurações → Identidade visual, depois exclua o arquivo antigo aqui.
- PDFs de extrato fiscal — esses são gerados sob demanda pelo módulo de doações. Exclua à vontade; se um doador pedir de novo, o GCM regera.
Exclusão em massa
O explorador atual não suporta seleção múltipla para exclusão em massa. Para limpezas grandes, contate o suporte — a equipe de plataforma pode rodar uma exclusão segmentada via SQL com base em critérios (por exemplo, "todas as fotos de membro de membros inativos atualizados há mais de 2 anos"). Esse é o caminho mais seguro ao excluir centenas de arquivos de uma vez.
Buckets públicos vs privados
Alguns buckets são públicos (seus arquivos podem ser alcançados por URL por qualquer um com o link). Outros são privados e exigem URL assinada.
| Bucket | Visibilidade |
|---|---|
| member-photos | público |
| branding, pwa-icons, website-media, podcast-media | público |
| giving-receipts | privado (apenas URLs assinadas) |
| attendance-photos | privado |
| forms-uploads | privado |
| workflow-attachments | privado |
| message-attachments | privado |
Os buckets públicos são intencionalmente públicos — ficam atrás do CDN do Supabase, o que significa que imagens carregam rápido mesmo em conexões lentas. O trade-off é que qualquer um com a URL pode pegar o arquivo, então não coloque PII nem documentos financeiros em buckets públicos. O navegador marca cada cartão de bucket com sua visibilidade para você saber o que está olhando.
E quotas por bucket?
Os limites de plano se aplicam ao armazenamento total em todos os buckets — não há teto por bucket. Então se você está usando 9,5 GB do seu limite Growth de 10 GB, não importa em quais buckets isso está espalhado; você tem 0,5 GB sobrando na organização, independente.
O navegador ainda mostra os totais por bucket porque ajudam a decidir onde limpar. Se 7 GB dos seus 9,5 estão em podcast-media, seu arquivo de áudio é o alvo óbvio.
O que é salvo onde
O próprio armazenamento é Supabase Storage (compatível com S3), com chave bucket + caminho. A interface Storage Explorer chama um RPC do Supabase (org_storage_stats) que agrega contagens e tamanhos de arquivo por bucket, escopados ao prefixo de caminho da sua organização. RLS em storage.objects garante que você só vê arquivos sob caminhos <org_id>/....
Armadilhas comuns
"Excluí a foto de um membro aqui mas ainda aparece no perfil dele." Recarregue forçado para limpar o cache do navegador. Se a foto ainda aparece, o registro do membro ainda tem o caminho guardado — edite o membro, limpe a foto lá também, e salve.
"Meu uso de armazenamento parece maior do que os tamanhos de arquivo somam." As estatísticas incluem variantes de miniatura e cópias versionadas. O Supabase gera miniatura para cada imagem automaticamente, o que conta na sua quota. O navegador de arquivos só mostra os originais; os totais incluem todas as variantes.
"Apaguei tudo num bucket mas o uso de armazenamento não baixou." As estatísticas atualizam num cache de 5 minutos. Espere alguns minutos ou clique no botão de atualizar no cartão de visão geral.
"Arquivos que eu não enviei aparecem em workflow-attachments." Fluxos de trabalho anexam arquivos automaticamente quando nós concluem (por exemplo, um PDF gerado, uma captura de tela). Eles acumulam; limpe periodicamente.
Próximos passos
- Configuração PWA — defina os ícones uma vez, exclua os antigos aqui.
- Identidade visual — atualize o logo, exclua envios antigos aqui.
- Visão geral de Configurações — de volta ao índice.
