Per gli amministratori
← Tutti gli argomenti

Aggiornare dalla riga di comando

./draften update senza interruzioni, la verifica di un pacchetto, il ritorno alla versione precedente o a una più vecchia e un server senza internet.

Quando nell’installazione gira l’updater, aggiornare dall’interfaccia è la cosa più comoda – lo descrive Aggiornare con l’updater. Qui trovi la stessa procedura dalla riga di comando; funziona sempre, con l’updater o senza. Tutti i comandi si eseguono nella cartella dell’installazione.

Aggiornare a una nuova versione

Ogni release è un nuovo pacchetto. Puoi passarlo direttamente al comando:

./draften update --bundle /percorso/di/draften-<nuova versione>.tar

oppure copiarlo nella cartella updates/ ed eseguire:

./draften update <nuova versione>

L’aggiornamento non causa nessuna interruzione e procede passo per passo:

  1. verifica il pacchetto con le chiavi della release installata – prima di usare qualsiasi cosa al suo interno,
  2. salva un dump del database in backups/ (si tengono gli ultimi tre; il numero si imposta con DRAFTEN_BACKUPS in .env),
  3. esegue le migrazioni del database,
  4. sostituisce i worker,
  5. avvia la nuova versione del web accanto a quella che serve, e passa a quella nuova quando è sana.

Se la nuova versione non diventa sana, non si cambia nulla e quella precedente continua a servire.

Un pacchetto si può anche verificare senza installarlo:

./draften check draften-<nuova versione>.tar

Dopo l’aggiornamento

./draften status

mostra quale colore web serve, la versione e lo stato di entrambi i colori e dei worker, lo stato dell’HTTPS e i dump del database. Nella pagina Gestione i worker si fanno vivi e il giudizio è “la capacità basta”. Cosa ha cambiato la release lo trovi nel file NOTES.md.

Tornare alla versione precedente

La versione che serviva prima dell’aggiornamento resta in esecuzione senza traffico. Ci torni immediatamente:

./draften rollback

Funziona perché il database resta leggibile anche per la versione precedente.

Tornare a una versione ancora più vecchia

Si passa solo dal ripristino di un dump del database. Ogni dump in backups/ porta nel nome la versione che era in esecuzione quando è stato creato:

docker compose stop worker
gunzip -c backups/<ora>-<versione>.sql.gz | docker compose exec -T db sh -c 'mariadb -uroot -p"$MARIADB_ROOT_PASSWORD"'
./draften update <versione> --no-backup

Tutto ciò che è successo in draften dopo la creazione del dump va perso.

Un dump di prima della sostituzione della chiave di cifratura si apre solo con la chiave precedente, MASTER_KEY_PREVIOUS in .env. Vedi Backup e ripristino.

Una macchina senza internet

L’updater scarica le nuove release con la chiave della licenza. Una macchina senza internet non scarica nulla: copia il pacchetto in updates/ e aggiorna con ./draften update <versione> – oppure l’updater te lo propone da lì nell’interfaccia.

Cosa non cambia da solo

Versione solo testo