Ir para o conteúdo
Q
QuoteNode

Installation

Atualizar o QuoteNode

Como verificar novas versões, atualizar uma instalação Docker Compose e reverter em segurança.

Atualizar o QuoteNode

O QuoteNode verifica automaticamente se existem novas versões. Quando uma versão mais recente está disponível, o painel de administração apresenta uma notificação com a designação da versão e uma ligação para as notas de lançamento.

Atualizacao para PostgreSQL 18

Os ficheiros Compose acima ja usam postgres:18-alpine, por isso instalacoes novas nao precisam de nada. Se usou uma alfa anterior em PostgreSQL 16 ou 17, migre os dados uma vez: um servidor PostgreSQL 18 nao arranca sobre um diretorio de dados mais antigo (a aplicacao recusa-se a arrancar ate os dados serem compativeis e nunca os altera automaticamente). Use a copia pg_dump da lista de verificacao abaixo, recrie o volume da base de dados em postgres:18-alpine e restaure o dump.

Como funciona a verificação de versões

O frontend consulta https://quotenode.dev/releases/latest.json quando o administrador inicia sessão. Trata-se de um pedido GET de leitura anónima. Nenhum dado da sua instância é enviado. A verificação pode ser desativada:

VITE_RELEASE_CHECK_ENABLED=false

É também possível substituir o URL do manifesto:

VITE_RELEASE_MANIFEST_URL=https://your-mirror.example.com/releases/latest.json

Se o manifesto não estiver acessível, a verificação falha silenciosamente e o painel de administração funciona normalmente.

Lista de verificação pré-atualização

Antes de atualizar:

  1. Anote a versão atual visível em Admin > Licença ou na notificação de lançamento.
  2. Faça uma cópia de segurança do ficheiro .env — este ficheiro contém segredos que não podem ser regenerados (em especial DB_ENCRYPTION_KEY).
  3. Execute uma cópia de segurança da base de dados:
docker compose exec postgres pg_dump -U quotenode quotenode > backup-before-upgrade.sql
  1. Se as cópias de segurança automáticas estiverem ativadas (BACKUP_ENABLED=true), verifique se existe uma cópia recente no volume de backups.

Procedimento de atualização

Para instalações com Docker Compose (VPS Ubuntu, Linux em rede local, Coolify manual):

docker compose pull
docker compose up -d

Este comando descarrega as imagens mais recentes e recria apenas os contentores cujas imagens foram alteradas. As migrações de base de dados são executadas automaticamente aquando do arranque do backend.

No Coolify com implementação automática ativada, um push para o ramo configurado desencadeia a atualização de forma automática.

Verificação pós-atualização

Após os contentores estarem em execução:

  1. Aceda a /health — deverá devolver UP.
  2. Inicie sessão e verifique o número da nova versão em Admin > Licença.
  3. Crie uma proposta de teste e gere um PDF para confirmar que o pipeline funciona.
  4. Abra uma ligação pública para verificar o roteamento do frontend.
  5. Se o SMTP estiver configurado, verifique se é enviado um e-mail de notificação de teste.

Reversão

Se a atualização causar problemas:

  1. Não execute docker compose down -v — este comando elimina todos os dados, incluindo a base de dados.
  2. Pare os serviços:
docker compose down
  1. Edite o ficheiro docker-compose.yml (ou .env) para fixar as etiquetas de imagem anteriores:
services:
  backend:
    image: ghcr.io/lesisty7/quotenode/quotenode-api:v0.9.0-alpha
  frontend:
    image: ghcr.io/lesisty7/quotenode/quotenode-frontend:v0.9.0-alpha
  1. Inicie novamente:
docker compose up -d

Se a nova versão incluiu migrações de base de dados irreversíveis, reverter apenas as imagens pode não ser suficiente. Nesse caso, restaure a base de dados a partir da cópia de segurança criada antes da atualização:

docker compose down
docker compose up -d postgres
docker compose exec -T postgres psql -U quotenode quotenode < backup-before-upgrade.sql
docker compose up -d

Fixar etiquetas de imagem

Os guias de instalação utilizam etiquetas latest por simplicidade. Para instalações em produção, fixe etiquetas de versão explícitas para controlar quando as atualizações ocorrem:

services:
  backend:
    image: ghcr.io/lesisty7/quotenode/quotenode-api:v0.9.0-beta
  frontend:
    image: ghcr.io/lesisty7/quotenode/quotenode-frontend:v0.9.0-beta

Para atualizar, altere a etiqueta e execute docker compose up -d.

Formato das versões

O QuoteNode utiliza versionamento semântico com um sufixo de canal:

  • v0.9.0-alpha — desenvolvimento inicial
  • v0.9.0-beta — beta público
  • v0.9.0-rc — candidato a lançamento
  • v0.9.0 — versão estável

O manifesto de lançamento inclui os campos version, channel, label e imageTags, o que permite ao frontend comparar versões com exatidão.

Last reviewed: Recently