Przejdź do treści
Q
QuoteNode

Installation

Aktualizacja QuoteNode

Jak sprawdzać nowe wersje, aktualizować wdrożenie Docker Compose i bezpiecznie przywracać poprzednią wersję.

Aktualizacja QuoteNode

QuoteNode automatycznie sprawdza dostępność nowych wersji. Gdy dostępna jest nowsza wersja, panel administracyjny wyświetla powiadomienie z etykietą wydania i odnośnikiem do informacji o zmianach.

Aktualizacja do PostgreSQL 18

Pliki Compose powyżej już używają postgres:18-alpine, więc świeże instalacje nie wymagają nic. Jeśli korzystałeś z wcześniejszej wersji alfa na PostgreSQL 16 lub 17, zmigruj dane jednorazowo: serwer PostgreSQL 18 nie wystartuje na starszym katalogu danych (aplikacja odmówi startu, dopóki dane nie będą zgodne, i nigdy nie zmienia ich automatycznie). Użyj kopii pg_dump z listy kontrolnej poniżej, odtwórz wolumen bazy na postgres:18-alpine i przywróć zrzut.

Jak działa sprawdzanie wersji

Frontend pobiera https://quotenode.dev/releases/latest.json przy każdym logowaniu do panelu administracyjnego. Jest to żądanie GET tylko do odczytu, niewymagające uwierzytelnienia. Żadne dane z Twojej instancji nie są przesyłane. Sprawdzanie można wyłączyć:

VITE_RELEASE_CHECK_ENABLED=false

Możesz również nadpisać adres URL manifestu:

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

Jeśli manifest jest niedostępny, sprawdzanie kończy się cicho i panel administracyjny działa normalnie.

Lista kontrolna przed aktualizacją

Przed aktualizacją:

  1. Zanotuj bieżącą wersję widoczną w Admin > Licencja lub w powiadomieniu o aktualizacji.
  2. Wykonaj kopię zapasową pliku .env — zawiera on sekrety, których nie można odtworzyć (w szczególności DB_ENCRYPTION_KEY).
  3. Wykonaj kopię zapasową bazy danych:
docker compose exec postgres pg_dump -U quotenode quotenode > backup-before-upgrade.sql
  1. Jeśli automatyczne kopie zapasowe są włączone (BACKUP_ENABLED=true), sprawdź, czy w wolumenie kopii zapasowych istnieje niedawna kopia.

Procedura aktualizacji

W przypadku wdrożeń Docker Compose (Ubuntu VPS, LAN Linux, Coolify ręczne):

docker compose pull
docker compose up -d

Polecenie pobiera najnowsze obrazy i odtwarza tylko te kontenery, których obrazy uległy zmianie. Migracje bazy danych uruchamiają się automatycznie przy starcie backendu.

W przypadku Coolify z włączonym auto-deploy, wypchnięcie do skonfigurowanej gałęzi automatycznie wyzwala aktualizację.

Weryfikacja po aktualizacji

Po uruchomieniu kontenerów:

  1. Otwórz /health — powinno zwrócić UP.
  2. Zaloguj się i sprawdź Admin > Licencja, czy wyświetlany jest nowy numer wersji.
  3. Utwórz ofertę testową i wygeneruj PDF, aby zweryfikować działanie potoku przetwarzania.
  4. Otwórz publiczny link, aby zweryfikować routing frontendu.
  5. Jeśli skonfigurowano SMTP, sprawdź, czy testowy e-mail z powiadomieniem zostaje wysłany.

Przywracanie poprzedniej wersji

Jeśli aktualizacja powoduje problemy:

  1. Nie uruchamiaj docker compose down -v — polecenie to usuwa wszystkie dane, w tym bazę danych.
  2. Zatrzymaj usługi:
docker compose down
  1. Edytuj docker-compose.yml (lub .env), aby przypiąć poprzednie tagi obrazów:
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. Uruchom ponownie:
docker compose up -d

Jeśli nowa wersja zawierała nieodwracalne migracje bazy danych, samo przywrócenie poprzednich obrazów może nie wystarczyć. W takim przypadku przywróć bazę danych z kopii zapasowej wykonanej przed aktualizacją:

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

Przypinanie tagów obrazów

Przewodniki instalacji używają tagów latest dla uproszczenia. W przypadku wdrożeń produkcyjnych przypisz konkretne tagi wersji, aby kontrolować moment przeprowadzania aktualizacji:

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

Następnie zaktualizuj, zmieniając tag i uruchamiając docker compose up -d.

Format wersji

QuoteNode używa wersjonowania semantycznego z przyrostkiem kanału:

  • v0.9.0-alpha — wczesny etap rozwoju
  • v0.9.0-beta — publiczna beta
  • v0.9.0-rc — kandydat do wydania
  • v0.9.0 — stabilne wydanie

Manifest wydań zawiera pola version, channel, label i imageTags, dzięki czemu frontend może dokładnie porównywać wersje.

Last reviewed: Recently