Quando o updater está rodando na instalação, atualizar pela interface é o mais prático – Atualizar com o updater descreve isso. Aqui está o mesmo procedimento pela linha de comando; ele sempre funciona, com o updater ou sem ele. Todos os comandos rodam no diretório da instalação.
Atualizar para uma nova versão
Cada release é um novo pacote. Ou você o passa diretamente ao comando:
./draften update --bundle /path/to/draften-<new version>.tar
ou o copia para a pasta updates/ e executa:
./draften update <new version>
A atualização não causa interrupção e segue passo a passo:
- confere o pacote com as chaves da release instalada – antes de usar qualquer coisa dele,
- salva um dump do banco de dados em
backups/(os três últimos são mantidos; o número é definido porDRAFTEN_BACKUPSno.env), - executa as migrações do banco de dados,
- substitui os workers,
- inicia a nova versão da web ao lado da que está atendendo e muda para ela assim que estiver saudável.
Se a nova versão não ficar saudável, nada é trocado e a anterior continua atendendo.
Um pacote também pode ser conferido sem ser instalado:
./draften check draften-<new version>.tar
Depois de atualizar
./draften status
mostra qual cor da web está atendendo, a versão e a saúde das duas cores e dos workers, o status do HTTPS e os dumps do banco de dados. Na página Operação os workers dão sinal e o veredito é “a capacidade é suficiente”. O que a release mudou está no arquivo NOTES.md.
Voltar para a versão anterior
A versão que atendia antes da atualização continua rodando, sem tráfego. Você muda para ela na hora:
./draften rollback
Isso funciona porque o banco de dados continua legível também para a versão anterior.
Voltar para uma versão ainda mais antiga
Isso só é possível restaurando um dump do banco de dados. Cada dump em backups/ traz no nome a versão que estava rodando quando ele foi feito:
docker compose stop worker
gunzip -c backups/<time>-<version>.sql.gz | docker compose exec -T db sh -c 'mariadb -uroot -p"$MARIADB_ROOT_PASSWORD"'
./draften update <version> --no-backup
Tudo o que aconteceu no draften depois que o dump foi feito se perde.
Um dump de antes da troca da chave de criptografia só abre com a chave anterior, MASTER_KEY_PREVIOUS no .env. Veja Backup e restauração.
Uma máquina sem internet
O updater baixa as novas releases com a chave da licença. Uma máquina sem internet não baixa nada: copie o pacote para updates/ e atualize com ./draften update <version> – ou o updater o oferece a você a partir dali, na interface.
O que não muda sozinho
- As configurações, as instruções e as fontes dos assistentes estão no banco de dados, e uma atualização não mexe nelas.
- O client secret de um registro no Entra expira conforme o prazo para o qual você o emitiu; renove-o na interface (Organização → Integrações → Novo segredo), não atualizando.
- O certificado HTTPS você mesmo renova:
./draften certificate new.pem new.key.