# 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.

Source: https://nodaro.ai/pt-BR/docs/self-hosting/quickstart

O **início rápido da Community Edition** leva você do zero a um Nodaro self-hosted em funcionamento com dois comandos. A stack do Docker Compose traz o próprio banco de dados, login, armazenamento e filas, então não há contas de nuvem para criar, chaves de API para encontrar nem nada para configurar. Você precisa do Docker 24 ou mais recente, com o Docker Compose v2.

## Iniciar o Nodaro
### Clonar o repositório e iniciar a stack
```bash
git clone https://github.com/nodaroai/app.nodaro.ai.git nodaro
cd nodaro
docker compose -f docker-compose.community.yml up
```

A primeira inicialização baixa a imagem pré-compilada do app, de cerca de 2,4 GB, e os serviços incluídos. É um download, não uma compilação, então não sobrecarrega a sua CPU. As inicializações seguintes levam segundos.

### Abrir o app e criar a sua conta
Abra `http://localhost:3000` e crie uma conta com qualquer endereço de e-mail e senha. A conta funciona na hora, porque uma stack local não envia e-mail de confirmação.

Na sua primeira visita, a tela inicial adiciona um workflow **Welcome Demo**. Ele é uma execução já concluída de roteiro, imagem, vídeo, voz e corte final, com todos os resultados prontos. Você pode abrir os nós dele e reproduzir o clipe final antes de configurar qualquer coisa.

### Verificar a instalação em /setup
Abra `http://localhost:3000/setup`. A página mostra o status em tempo real do banco de dados, do Redis, do armazenamento, da chave de criptografia e das suas chaves de provedor, e não exige login. Em uma stack nova, todos os cartões ficam verdes, exceto o das chaves de provedor.

### Adicionar um provedor de modelos
Escolha uma das três formas abaixo. Quando houver um provedor, clique em **Executar** no nó **Imagem da cena** (Scene Image) da demonstração. Ele usa o [Z-Image](https://nodaro.ai/docs/models/image/z-image), o modelo de imagem mais barato, e responde em segundos.

## O que é iniciado
| Serviço | O que faz | Onde ficam os dados |
| --- | --- | --- |
| **Postgres** (imagem do Supabase) | O banco de dados. As migrações são aplicadas sozinhas na primeira inicialização. | Volume `db-data` |
| **GoTrue** | Login com e-mail e senha. Não é preciso um servidor de e-mail. | — |
| **PostgREST** | A API de dados com que o editor se comunica | — |
| **MinIO** | Armazenamento de mídia. As imagens, os vídeos e os áudios gerados ficam no seu disco. | Volume `minio-data` |
| **Redis** | Filas de jobs | Volume `redis-data` |
| **Nodaro** | O app: editor, API e workers, na porta `3000` | Volume `app-data` |

A stack publica duas portas na sua máquina: a `3000`, para o app, e a `9001`, para o console do MinIO, esta só na interface de loopback.

## Adicionar um provedor de modelos
Ver a demonstração é gratuito e funciona offline. Para você mesmo executar nós, a instalação precisa de um provedor de modelos. Até ter um, a tela inicial mostra o aviso **Esta instalação ainda não consegue gerar**, que pode ser dispensado, com um botão para cada opção.

As três formas podem funcionar lado a lado, com uma regra. Quando a instalação está conectada ao Nodaro Cloud e também tem uma `NODARO_API_KEY`, ela usa a conexão e ignora a chave.

**Colar uma chave**

Sem arquivos e sem reinicialização.

1. Abra `/setup` e conclua a etapa 1, **Crie seu login do servidor**. Os cartões de integridade não exigem login, mas salvar uma chave exige.
2. Encontre os blocos dos provedores na seção **Integridade da instalação**. Os mesmos blocos ficam no app, em **Integrações › Provedores de modelos**.
3. Clique em **Colar chave** em um bloco, cole a chave e salve.

Cada bloco diz o que a chave dele habilita e onde conseguir uma. A chave é armazenada criptografada no seu próprio banco de dados e passa a valer na hora. Se você se conectar ao Nodaro Cloud, nenhum bloco é obrigatório: a conexão cobre todos eles.

**Conectar o Nodaro Cloud**

Sem chaves para gerenciar.

1. Em `/setup`, na etapa 2, **Conecte um provedor de modelos**, clique em **Conectar o nodaro.ai**.
2. O navegador abre a tela de consentimento do Nodaro Cloud. Faça login, ou crie uma conta gratuita com 1.500 créditos, e aprove.
3. Você volta para a sua instalação, já conectada.

Os modelos de imagem, vídeo, fala e texto passam, então, a ser executados pela sua conta do Nodaro Cloud e são cobrados em créditos. Leia [Conectar ao Nodaro Cloud](https://nodaro.ai/docs/self-hosting/cloud-connect) para ver os detalhes.

**Definir no .env**

Para infraestrutura como código. Crie um arquivo chamado `.env` ao lado do arquivo do Compose:

```bash
KIE_API_KEY=...            # broadest model coverage
# or
REPLICATE_API_TOKEN=...
# or
NODARO_API_KEY=...         # a personal API token from app.nodaro.ai, Settings › API Tokens
```

Depois, aplique-o:

```bash
docker compose -f docker-compose.community.yml up -d
```

Uma chave no `.env` tem prioridade sobre uma chave colada na tela. O bloco dela mostra `set (env)` e não pode ser editado ali mesmo.

Leia [Chaves de provedor](https://nodaro.ai/docs/self-hosting/provider-keys) para ver todos os provedores e o que cada um habilita.

Você paga os seus provedores diretamente. A Community Edition não tem sistema de créditos, taxas do Nodaro nem marca d’água.

## Aprender o editor de graça
Os **Tutoriais** da tela inicial começam com um conjunto de guias passo a passo, adicionados na primeira inicialização. Navegar por eles não custa nada. As imagens, os vídeos e os áudios deles são carregados da CDN do Nodaro, então eles precisam de conexão com a internet. Veja [Tutoriais e templates](https://nodaro.ai/docs/get-started/tutorials-and-templates).

## Verificar a instalação pela linha de comando
Para uma verificação mais profunda do que a `/setup` consegue mostrar, rode o teste de contrato a partir do seu clone. Ele precisa do Node.js.

```bash
node tools/community-smoke.mjs http://localhost:3000
```

O teste cria uma conta descartável, cria um workflow, envia uma geração, acompanha o job até o estado final e informa quais verificações passaram. Uma verificação que não se aplica à sua instalação, por exemplo porque você já adicionou uma chave de provedor, é informada como ignorada. Sem flags extras, o teste nunca gasta nada.

Para testar também uma geração real, adicione `--keyed`:

```bash
node tools/community-smoke.mjs http://localhost:3000 --keyed
```

O `--keyed` precisa de uma `KIE_API_KEY` ou de um `REPLICATE_API_TOKEN` na instalação, no `.env` ou colados em `/setup`. Ele executa uma geração no modelo mais barato para essa chave: o [Z-Image](https://nodaro.ai/docs/models/image/z-image) com a `KIE_API_KEY` e o [Flux 2 Klein](https://nodaro.ai/docs/models/image/flux-2-klein-open) com o `REPLICATE_API_TOKEN`. Isso costuma custar menos de um centavo de dólar no provedor. Depois, o teste verifica se a mídia chegou ao armazenamento da própria instalação. Uma conexão ou um token do Nodaro Cloud é verificado separadamente.

## Comandos do dia a dia
| Tarefa | Comando |
| --- | --- |
| Iniciar em segundo plano | `docker compose -f docker-compose.community.yml up -d` |
| Acompanhar os logs | `docker compose -f docker-compose.community.yml logs -f` |
| Parar a stack | `docker compose -f docker-compose.community.yml down` |
| Aplicar um `.env` alterado | `docker compose -f docker-compose.community.yml up -d` |

Nunca adicione `-v` ao `down`, a menos que seja essa a intenção: `docker compose down -v` apaga os volumes e, com eles, o seu banco de dados e a sua mídia.

**Antes que outras pessoas possam acessar a instalação:** 
Os padrões do Compose foram feitos para uso local e são públicos. Antes de expor a stack a uma rede, gere novas chaves de autenticação, defina novas senhas para o banco de dados e o armazenamento e sirva a instalação por HTTPS. Siga [Proteger a instalação](https://nodaro.ai/docs/self-hosting/install#harden-the-install-before-you-expose-it) e [Proxy reverso e HTTPS](https://nodaro.ai/docs/self-hosting/reverse-proxy).

## Próximos passos
- [Instalação](https://nodaro.ai/docs/self-hosting/install) — a configuração completa, com serviços gerenciados, armazenamento e segredos.
- [Proxy reverso e HTTPS](https://nodaro.ai/docs/self-hosting/reverse-proxy) — sirva a instalação no seu domínio.
- [Atualização](https://nodaro.ai/docs/self-hosting/updating) — tags de imagem e atualizações.
- [Backup e restauração](https://nodaro.ai/docs/self-hosting/backups) — um comando para cada operação.
- [Solução de problemas](https://nodaro.ai/docs/self-hosting/troubleshooting) — quando um cartão em `/setup` está vermelho.

## Frequently asked questions

### Quanto tempo leva a primeira inicialização de um Nodaro self-hosted?

A primeira inicialização baixa a imagem pré-compilada do app, de cerca de 2,4 GB, e os serviços incluídos, então leva alguns minutos em uma conexão comum. É um download, não uma compilação. As inicializações seguintes levam segundos.

### Preciso de um arquivo .env para rodar a Community Edition?

Não. Todo valor do docker-compose.community.yml tem um padrão que funciona. Crie um arquivo .env só para adicionar chaves de provedor, mudar a URL pública ou usar os seus próprios serviços gerenciados.

### Por que a minha instalação nova não consegue gerar nada?

Ela ainda não tem um provedor de modelos. Cole uma chave de provedor em /setup, defina uma no .env ou conecte a instalação a uma conta do Nodaro Cloud. A tela inicial mostra um aviso com as duas opções até que exista um provedor.

### A instalação padrão é segura para colocar na internet?

Não. As chaves e as senhas padrão do arquivo do Compose são públicas. Antes que outras pessoas possam acessar a instalação, gere novas chaves de autenticação, defina novas senhas e sirva a instalação por HTTPS, atrás de um proxy reverso.

### Quanto custa a Community Edition?

Você não paga nada ao Nodaro. Ela não tem sistema de créditos, taxas do Nodaro nem marca d’água. Você paga diretamente os seus provedores de modelos, ou paga em créditos o que é executado por uma conexão com o Nodaro Cloud.
