Guias

Gerenciador de arquivos para MinIO e S3 self-hosted: conecte ao Nubbo

Como conectar seu próprio armazenamento compatível com S3, como MinIO, Ceph ou SeaweedFS, ao Nubbo: endpoint, chave, região, CORS e o que fazer se falhar.

O Nubbo se conecta a qualquer armazenamento compatível com S3 que assine com Signature V4, como MinIO, Ceph ou SeaweedFS, no seu próprio servidor ou em outro provedor. Você só precisa da URL do endpoint, de uma chave e da região. Este guia segue passo a passo o assistente do Nubbo, com os dois caminhos: automático ou com uma chave limitada a um bucket.

O que você ganha

  • Navegar pelo bucket como se fosse um disco: pastas, visualizações, busca, lixeira, etiquetas e favoritos.
  • Enviar e baixar arquivos diretamente entre o seu navegador e o seu servidor. Os arquivos nunca passam pelos servidores do Nubbo.
  • Compartilhar arquivos e pastas com senha, expiração e limite de downloads, receber arquivos no seu bucket e criar galerias.
  • Suas chaves são armazenadas criptografadas com AES-256-GCM e você pode desconectar o bucket a qualquer momento.

Antes de começar

Você precisa de um armazenamento compatível com S3 e de uma conta no Nubbo. Cada bucket que você conecta conta para o limite do seu plano: o Gratuito permite 2, o Personal 5 e o Pro não tem limite. O endpoint precisa ser uma URL pública que tanto os servidores do Nubbo quanto o navegador consigam acessar, e precisa de HTTPS, porque o navegador não carrega conteúdo HTTP a partir de https://nubbo.app. O Nubbo rejeita endpoints que apontem para endereços privados ou locais. Se o seu servidor não tiver regiões, deixe us-east-1.

Escolha como conectar

O assistente do Nubbo oferece dois caminhos. Os dois terminam do mesmo jeito: o bucket conectado e pronto para uploads a partir do navegador.

AutomáticoCom uma chave limitada
ChaveAcesso à conta inteiraLimitada a um bucket
BucketO Nubbo usa um dos seus ou cria um novoVocê cria primeiro
CORSO Nubbo adiciona a regra para vocêVocê adiciona a regra
Quando escolherO jeito mais rápidoQuando você não quer dar acesso à conta inteira

Conexão automática

Passo 1: crie a chave no seu servidor

  1. Confirme que o seu servidor expõe a API S3 com assinaturas V4 em uma URL HTTPS pública, por exemplo https://s3.your-domain.com.
  2. Crie uma chave que possa criar buckets e alterar o CORS deles.
  3. Anote a URL do endpoint e a região. Se o seu servidor não tiver regiões, use us-east-1.

Passo 2: conecte o bucket no Nubbo

  1. No Nubbo, abra Buckets e clique em Conectar bucket. Escolha S3 personalizado / Self-hosted e clique em Continuar.

    Passo Provedor do assistente do Nubbo com S3 personalizado / Self-hosted selecionado Passo Provedor do assistente do Nubbo com S3 personalizado / Self-hosted selecionado
  2. Escolha Automático e clique em Continuar.

    Passo Como conectar com as opções Automático e Com uma chave limitada Passo Como conectar com as opções Automático e Com uma chave limitada
  3. No passo Sua chave, cole a access key, a secret key, a URL do endpoint e a região. Clique em Verificar chave. O Nubbo verifica se a chave funciona e se ela tem acesso à conta inteira.

    Passo Sua chave para S3 personalizado / Self-hosted com o guia rápido e os campos da chave Passo Sua chave para S3 personalizado / Self-hosted com o guia rápido e os campos da chave
  4. Escolha um dos seus buckets e clique em Usar este bucket, ou selecione Criar um novo, digite um nome (e escolha a região, se for pedida) e clique em Criar e preparar. O Nubbo adiciona ao bucket uma regra CORS que só permite uploads e downloads a partir do app e mantém as regras que já existiam.

    Passo Seu bucket com a lista de buckets e a opção Criar um novo Passo Seu bucket com a lista de buckets e a opção Criar um novo
  5. Revise as três verificações, altere o Nome no Nubbo se quiser e clique em Concluir. O bucket aparece em Buckets e você pode abri-lo no explorador.

    Passo Concluído com as verificações da conexão, do bucket e do CORS Passo Concluído com as verificações da conexão, do bucket e do CORS

Se o Nubbo não conseguir adicionar a regra CORS com a sua chave, o assistente leva você ao passo CORS. Nesse caso, siga a seção Adicione a regra CORS.

Conexão com uma chave limitada

Passo 1: prepare o bucket e a chave no seu servidor

  1. Crie o bucket no seu servidor (no MinIO, por exemplo, com mc mb).
  2. Crie uma chave com permissões de leitura e gravação nesse bucket.
  3. Anote a URL do endpoint e a região.

Passo 2: conecte o bucket no Nubbo

  1. Em Buckets, clique em Conectar bucket, escolha S3 personalizado / Self-hosted e depois Com uma chave limitada.
  2. Cole a access key, a secret key, o endpoint e a região. Clique em Verificar chave.
  3. Digite o nome exato do bucket e clique em Verificar acesso.
  4. O assistente passa para o passo CORS com a regra que você precisa adicionar.

Adicione a regra CORS

A regra CORS permite que o navegador envie e baixe arquivos do seu bucket em https://nubbo.app. É a mesma regra que o assistente mostra no passo CORS.

O jeito de configurar o CORS depende do software:

  • O MinIO (edição comunitária) não aceita CORS por bucket: ele usa uma configuração global (MINIO_API_CORS_ALLOW_ORIGIN) que, por padrão, permite qualquer origem. Se você não a alterou, não há nada a fazer: clique em Já adicionei, verificar e a verificação passa. Se você a alterou, inclua https://nubbo.app.
  • O Ceph e o SeaweedFS aceitam CORS por bucket pela API S3. Aplique esta regra com a ferramenta que você costuma usar (por exemplo, aws s3api put-bucket-cors com o seu endpoint) ou deixe o Nubbo fazer isso no caminho automático.
[
  {
    "AllowedHeaders": ["*"],
    "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
    "AllowedOrigins": ["https://nubbo.app"],
    "ExposeHeaders": ["ETag"],
    "MaxAgeSeconds": 3600
  }
]
Passo CORS com a regra a ser adicionada ao bucket Passo CORS com a regra a ser adicionada ao bucket

Quando a regra estiver pronta, volte ao Nubbo e clique em Já adicionei, verificar. No Ceph e no SeaweedFS, se a sua chave puder alterar o CORS, Tentar configurar para mim faz isso por você.

Se algo der errado

Mensagem no NubboO que fazer
“Credenciais inválidas. Verifique a chave de acesso e a chave de acesso secreta.”Copie as duas chaves de novo, sem espaços no início nem no fim.
“Esta chave parece limitada a um bucket. Você pode continuar pelo caminho limitado ou criar uma chave com acesso total.”Clique em Continuar com chave limitada, ou crie uma chave com acesso à conta inteira e clique em Tentar outra chave.
“Bucket não encontrado. Verifique o nome e a região.”Confirme o nome exato do bucket e se a região escolhida é a do bucket.
“Sua chave não tem permissão para criar buckets.”Use uma chave com acesso total, ou crie o bucket no seu painel e clique em Já criei no meu painel.
“Esse nome já está em uso neste provedor; tente outro.”Os nomes de bucket são únicos em todo o provedor: escolha outro.
“Sua chave não tem permissão para configurá-lo.”Adicione a regra CORS manualmente, como explicado acima.
“Ainda não funciona. Revise a regra e verifique de novo; alguns provedores levam um minuto para aplicá-la.”Confirme que a origem é exatamente https://nubbo.app, sem barra no final, espere um minuto e verifique de novo.
“Este bucket já está em uso.”Esse bucket já está conectado no Nubbo, na sua conta ou em outra.
“Não foi possível acessar o endpoint S3. Verifique a URL do endpoint.”Confirme que a URL é pública, usa HTTPS e responde pela internet, e não só pela sua rede.
“A URL do endpoint não é válida. Verifique o formato.”Digite a URL completa com https:// e sem o nome do bucket. A mensagem também aparece quando a URL aponta para um endereço privado ou local, ou quando o nome não é resolvido.
“A conexão expirou. Tente novamente.”Confira o firewall do seu servidor e se a porta está acessível de fora.

Quanto custa

Se você está comparando seu próprio armazenamento com um provedor, compare preços e limites em S3 vs R2 vs Spaces vs Wasabi vs Backblaze B2.

Perguntas frequentes

Qual armazenamento self-hosted funciona com o Nubbo?

Qualquer armazenamento compatível com a API S3 com assinaturas V4, como MinIO, Ceph ou SeaweedFS, e também provedores compatíveis com S3 que não estão na lista.

Posso conectar um MinIO da minha rede local?

Não. O endpoint precisa ser uma URL pública: o Nubbo rejeita endereços privados e locais, e o navegador também precisa conseguir acessá-lo.

Qual região uso se o meu servidor não tiver regiões?

us-east-1. É a região padrão da maioria dos servidores compatíveis com S3.

Por que o Nubbo não consegue configurar o CORS no MinIO?

Porque a edição comunitária do MinIO não suporta CORS por bucket. Ela usa uma configuração global que, por padrão, permite qualquer origem, e o Nubbo verifica essa configuração.

Fontes

Os preços e limites vêm das páginas oficiais abaixo. Os provedores mudam esses valores, então confirme antes de fechar qualquer compromisso.