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
| Requisito | Incluído na stack do Compose | Ou 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 login | Supabase 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 objetos | MinIO, com a mídia no seu disco | Qualquer armazenamento compatível com S3. Testados: Cloudflare R2 (recomendado, sem taxas de saída de dados), AWS S3, MinIO e Backblaze B2. |
| Filas | Redis 7 | O 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ável | O que ela oferece |
|---|---|
KIE_API_KEY | A maior cobertura de modelos: modelos de imagem, vídeo, áudio e texto |
REPLICATE_API_TOKEN | Um provedor alternativo, com catálogo próprio |
ANTHROPIC_API_KEY | Modelos Claude para os nós de texto |
ELEVENLABS_API_KEY | Recursos de voz: texto para fala, dublagem, modificador de voz e alinhamento forçado |
FAL_KEY | Opcional. 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
| Porta | O que a usa | Publicada pelo arquivo do Compose |
|---|---|---|
3000 | O app: editor, API, mídia e login, tudo em uma única origem | Sim |
9001 | O console do MinIO, para solução de problemas | Sim, só em 127.0.0.1 |
80 e 443 | O seu proxy reverso, para HTTPS | Não pelo Nodaro |
9000 | A 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-dataguarda o banco de dados, ominio-dataguarda a mídia, oredis-dataguarda as filas e oapp-dataguarda 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
Páginas relacionadas
Início rápido
Instalação
Chaves de provedor
Banco de dados
Escalonamento
Última atualização
Início rápido
Inicie a Community Edition self-hosted do Nodaro com dois comandos, verifique-a em /setup e adicione uma chave de provedor ou o Nodaro Cloud para gerar.
Instalação
Instale o Nodaro self-hosted passo a passo: clone o repositório, configure .env, segredos, migrações e armazenamento, inicie, faça login e proteja a stack.