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

Atualização

Atualize o Nodaro self-hosted com uma imagem mais nova, fixe uma tag de versão, faça um backup antes de uma versão major e reverta restaurando esse backup.

Atualizar um Nodaro self-hosted significa baixar uma imagem mais nova do app e reiniciar o app. Na stack incluída, as novas migrações do banco de dados são aplicadas sozinhas na inicialização, então não há mais nada para rodar. Antes de uma versão major, leia as notas da versão e faça um backup, porque não existe caminho de downgrade.

Tags de imagem

Toda build da branch main publica a imagem do app, ghcr.io/nodaroai/nodaro-community, como latest e com a tag do commit dela. Cada versão lançada acrescenta três tags de versão.

TagO que significa
vX.Y.Z, por exemplo v2.0.0Exatamente uma build; a tag nunca é movida. Fixe-a para ter uma instalação estável byte a byte.
vX.YAvança pelos patches de uma versão minor.
vXAvança por uma versão major inteira: recursos e correções chegam, mudanças incompatíveis nunca.
latestAcompanha a main: toda mudança mesclada, lançada ou não, inclusive as versões major.
<sha>Um commit; a tag nunca é movida. A outra forma de reproduzir exatamente uma build.

Escolha a tag com NODARO_IMAGE no .env, por exemplo NODARO_IMAGE=ghcr.io/nodaroai/nodaro-community:v1.23.0.

Atualizar a instalação

Para atualizar só o app:

docker compose -f docker-compose.community.yml pull nodaro
docker compose -f docker-compose.community.yml up -d nodaro

Para atualizar também o arquivo do Compose, os scripts de tools/ e os serviços incluídos:

git pull
docker compose -f docker-compose.community.yml pull
docker compose -f docker-compose.community.yml up -d

Se você compila a imagem a partir do código-fonte, por exemplo para a Business edition, troque pull por build. Um pull baixaria a imagem Community publicada.

As migrações mantêm a compatibilidade com as versões seguintes: elas criam tabelas novas e adicionam colunas. Uma mudança destrutiva é destacada nas notas da versão. Fixe uma tag ou um commit se você precisar de cautela.

Antes de uma versão major

Uma versão major muda o primeiro número, por exemplo de v1 para v2. As versões major são as únicas que podem mudar variáveis de ambiente, a topologia do Compose ou comportamentos dos quais você possa depender.

  1. Leia as notas da versão no GitHub.
  2. Faça um backup com tools/community-backup.sh. Veja Backup e restauração.
  3. Atualize e depois verifique /setup: todos os cartões devem estar verdes.

Reverter

Não existe reversão de migrações: o banco de dados só avança. Para voltar a uma versão anterior:

  1. Restaure o backup que você fez antes da atualização: tools/community-restore.sh <archive>.
  2. Fixe a imagem mais antiga, por exemplo NODARO_IMAGE=ghcr.io/nodaroai/nodaro-community:v1.25.1. As tags exatas vX.Y.Z nunca são movidas.
  3. Inicie-a com docker compose -f docker-compose.community.yml up -d nodaro.

Com um projeto gerenciado no Supabase

Quando o executor de migrações está desativado, aplique os novos arquivos de supabase/migrations/ na ordem dos nomes antes de reiniciar com a nova imagem. Uma migração que falta normalmente não impede a API de rodar, mas os recursos que dependem dela respondem 500 até as tabelas deles existirem. Veja Banco de dados.

Qual versão você está rodando

A versão em execução aparece na barra lateral do app e em /health. Clique na versão para ver as notas da versão que você está rodando. Quando existe uma versão mais nova, um ponto vermelho aparece ao lado da versão. A mesma caixa de diálogo mostra, então, as notas da versão mais recente e os comandos exatos de atualização, com a etapa de backup primeiro.

A verificação de atualizações envia uma requisição anônima por dia à API do GitHub. Uma verificação que falha é tentada de novo depois de 5 minutos, e depois com cada vez menos frequência, até uma dar certo.

VariávelPadrãoO que faz
NODARO_UPDATE_CHECKativadaoff desativa a verificação por completo. Nenhuma requisição sai da instalação, GET /v1/version responde só com a versão em execução, e a barra lateral mostra a versão como texto simples. Para instalações isoladas da internet (air-gapped).
NODARO_UPDATE_CHECK_TOKENvazia (anônima)Um token do GitHub para as leituras da lista pública de versões que a verificação faz. Ele não precisa de escopos.

O GitHub permite 60 requisições anônimas por hora para cada endereço de saída. Uma instalação com endereço próprio nunca precisa de um token. Uma instalação que compartilha o endereço com outras pode encontrar essa cota gasta por terceiros. O rótulo da versão volta, então, ao valor embutido na build, e as notas da versão ficam vazias até uma nova tentativa dar certo. A linha de log [update-check] … read failed: HTTP 403 (rate limit: 0 of 60 left…) é o sinal. O token só é enviado para api.github.com e nunca é registrado no log.

O arquivo do Compose não repassa essas duas variáveis do .env. Adicione-as em environment: do serviço nodaro:

  nodaro:
    environment:
      # ...the variables already listed...
      NODARO_UPDATE_CHECK: "off"

Reinicie para aplicar.

Atualizar um servidor pelo GitHub Actions

O repositório traz um workflow de exemplo, examples/deploy-host.yml, que atualiza um servidor do Nodaro por SSH:

  1. Copie-o para o seu próprio repositório, em .github/workflows/.
  2. Defina os segredos do repositório DEPLOY_HOST, DEPLOY_USER e DEPLOY_SSH_KEY.
  3. Ajuste o diretório de instalação e o comando do Compose no script dele para que correspondam ao seu servidor.
  4. Execute-o manualmente pela aba Actions e escolha a tag de imagem a implantar.

O workflow se conecta ao servidor, roda docker compose pull e docker compose up -d, espera até 90 segundos que /health responda e depois remove as camadas antigas da imagem. Nunca dispare uma implantação de produção a partir de um push em uma branch, e use nomes de segredos separados para cada ambiente.

Perguntas frequentes

Última atualização

Nesta página