Dla administratorów
← Wszystkie tematy

Aktualizacja z wiersza poleceń

./draften update bez przerwy, sprawdzenie paczki, powrót do poprzedniej albo starszej wersji i maszyna bez internetu.

Gdy w instalacji działa updater, najwygodniej aktualizować w interfejsie – opisuje to strona Aktualizacja przez updater. Tutaj jest to samo postępowanie z wiersza poleceń; działa zawsze, z updaterem i bez niego. Wszystkie polecenia uruchamia się w katalogu instalacji.

Aktualizacja do nowej wersji

Każde wydanie to nowa paczka. Albo przekaż ją bezpośrednio poleceniu:

./draften update --bundle /path/to/draften-<new version>.tar

albo skopiuj ją do folderu updates/ i uruchom:

./draften update <new version>

Aktualizacja nie powoduje przerwy i przebiega krok po kroku:

  1. sprawdza paczkę względem kluczy zainstalowanego wydania – zanim użyje z niej czegokolwiek,
  2. zapisuje zrzut bazy danych do backups/ (przechowywane są trzy ostatnie; liczbę ustala DRAFTEN_BACKUPS w .env),
  3. wykonuje migracje bazy danych,
  4. podmienia workery,
  5. uruchamia nową wersję interfejsu obok tej, która obsługuje ruch, i przełącza się na nią, gdy tylko jest sprawna.

Jeśli nowa wersja nie stanie się sprawna, nic nie zostaje przełączone, a poprzednia dalej obsługuje ruch.

Paczkę można też sprawdzić bez instalowania:

./draften check draften-<new version>.tar

Po aktualizacji

./draften status

pokazuje, który kolor interfejsu obsługuje ruch, wersję i stan obu kolorów oraz workerów, stan HTTPS i zrzuty bazy danych. Na stronie Utrzymanie workery się zgłaszają, a werdykt brzmi „przepustowość wystarcza”. Co zmieniło wydanie, jest w pliku NOTES.md.

Powrót do poprzedniej wersji

Wersja, która obsługiwała ruch przed aktualizacją, działa dalej bez ruchu. Przełączysz się na nią natychmiast:

./draften rollback

To działa, bo baza danych pozostaje czytelna także dla poprzedniej wersji.

Powrót do jeszcze starszej wersji

Prowadzi do tego tylko odtworzenie zrzutu bazy danych. Każdy zrzut w backups/ ma w nazwie wersję, która działała, gdy powstał:

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

Wszystko, co wydarzyło się w draften po utworzeniu zrzutu, przepada.

Zrzut sprzed wymiany klucza szyfrowania otwiera się tylko poprzednim kluczem, MASTER_KEY_PREVIOUS w .env. Zobacz Kopia zapasowa i odtwarzanie.

Maszyna bez internetu

Updater pobiera nowe wydania kluczem z licencji. Maszyna bez internetu niczego nie pobiera: skopiuj paczkę do updates/ i zaktualizuj poleceniem ./draften update <version> – albo updater zaproponuje ci ją stamtąd w interfejsie.

Co się samo nie zmienia

Wersja tekstowa