Docs do Nodaro
DocumentaçãoReferência de nósModelosAgentes de IA (MCP)DesenvolvedoresSelf-hostingPesquisa

Requisitos

O que o Nodaro self-hosted exige: Docker 24+ com Compose v2, banco Supabase, armazenamento compatível com S3, portas e chave de provedor ou o Nodaro Cloud.

Um Nodaro self-hosted tem cinco requisitos: Docker, um banco de dados com login, armazenamento de objetos compatível com S3, Redis e pelo menos um provedor de modelos. A stack do Compose da Community Edition inclui o banco de dados, o armazenamento e o Redis, então, em um único servidor, você só precisa do Docker e de um provedor de modelos. Todo o resto desta página é opcional ou voltado para produção.

O que você precisa

RequisitoIncluído na stack do ComposeOu use o seu próprio
Docker 24+ e Docker Compose v2—Obrigatório. Chame-o como docker compose, e não docker-compose.
Banco de dados e loginSupabase Postgres, GoTrue e PostgREST. As migrações são aplicadas na inicialização. Cadastro com e-mail e senha.Um projeto gerenciado no Supabase. O plano gratuito é suficiente. Você precisa da URL do projeto, da chave service-role e da chave anon, e aplica as migrações você mesmo.
Armazenamento de objetosMinIO, com a mídia no seu discoQualquer armazenamento compatível com S3. Testados: Cloudflare R2 (recomendado, sem taxas de saída de dados), AWS S3, MinIO e Backblaze B2.
FilasRedis 7O seu próprio Redis, inclusive um endpoint de cluster ou de Sentinel
Um provedor de modelos—Pelo menos uma chave de provedor ou uma conexão com o Nodaro Cloud

Os navegadores dos seus usuários precisam conseguir ler a mídia sem login, porque o Nodaro entrega ao navegador URLs públicas de mídia. O MinIO incluído faz isso pelo próprio endereço do app, em /storage/. Com o seu próprio bucket, veja Configurar o armazenamento de objetos.

Provedores de modelos

Os nós que chamam um modelo de IA precisam de um provedor. Sem nenhum, a instalação inicia e a demonstração abre, mas nenhum nó de modelo pode ser executado. Adicione pelo menos uma destas chaves, na página /setup ou no .env:

VariávelO que ela oferece
KIE_API_KEYA maior cobertura de modelos: modelos de imagem, vídeo, áudio e texto
REPLICATE_API_TOKENUm provedor alternativo, com catálogo próprio
ANTHROPIC_API_KEYModelos Claude para os nós de texto
ELEVENLABS_API_KEYRecursos de voz: texto para fala, dublagem, modificador de voz e alinhamento forçado
FAL_KEYOpcional. Modelos como o Sync Lipsync v3. Sem ela, esses modelos ficam indisponíveis, e o resto do app não é afetado.

Em vez de chaves, você pode conectar a instalação a uma conta do Nodaro Cloud: veja Conectar ao Nodaro Cloud. A lista completa de chaves, inclusive as usadas por nós específicos, está em Chaves de provedor.

Opcional

  • Node.js 22 ou mais recente, para rodar a API ou os workers fora do Docker, em desenvolvimento. O teste de contrato pela linha de comando e o gerador de chaves em tools/ também rodam com Node.js.
  • Um nome de domínio e um certificado TLS, para produção. Veja Proxy reverso e HTTPS.

Portas

PortaO que a usaPublicada pelo arquivo do Compose
3000O app: editor, API, mídia e login, tudo em uma única origemSim
9001O console do MinIO, para solução de problemasSim, só em 127.0.0.1
80 e 443O seu proxy reverso, para HTTPSNão pelo Nodaro
9000A API dentro do contêiner. Os clientes MCP precisam alcançá-la diretamente.Não. Veja MCP.

O Redis e o banco de dados ficam dentro da rede do Compose e nunca usam uma porta da sua máquina. Se a 3000 ou a 9001 estiver ocupada, mude o lado do host desse mapeamento no docker-compose.community.yml.

Disco

  • A imagem. A primeira inicialização baixa cerca de 2,4 GB.
  • Os volumes. O db-data guarda o banco de dados, o minio-data guarda a mídia, o redis-data guarda as filas e o app-data guarda a chave de criptografia da instância. O volume de mídia cresce a cada resultado, porque o Nodaro nunca apaga sozinho a mídia armazenada. Adicione uma regra de ciclo de vida ao seu bucket se quiser que a mídia antiga expire. Veja Escalonamento.

Tamanho da máquina

A configuração padrão roda tudo em um único contêiner, o que atende bem até cerca de 5 usuários ativos. A renderização é o trabalho mais pesado: o worker de renderização roda um Chrome headless e é limitado pela CPU, então planeje um ou dois workers de renderização por máquina. Para mais usuários, distribua os workers em vários contêineres. Veja Escalonamento.

A imagem do app tem builds para máquinas amd64 e arm64.

Windows

No Windows, execute os scripts de backup e restauração no Git Bash, o shell que o Git for Windows instala, e não no PowerShell nem no WSL. Veja Backup e restauração.

Perguntas frequentes

Última atualização

Nesta página