Installation
Aggiornamento di QuoteNode
Come verificare la disponibilità di nuove versioni, aggiornare un'installazione Docker Compose ed eseguire un rollback in sicurezza.
Aggiornamento di QuoteNode
QuoteNode verifica automaticamente la disponibilità di nuove versioni. Quando è disponibile una versione più recente, il pannello di amministrazione mostra una notifica con il nome della versione e un collegamento alle note di rilascio.
Aggiornamento a PostgreSQL 18
I file Compose qui sopra usano già postgres:18-alpine, quindi le nuove installazioni non richiedono nulla. Se hai usato un’alpha precedente su PostgreSQL 16 o 17, migra i dati una volta sola: un server PostgreSQL 18 non si avvia su una directory dati più vecchia (l’applicazione si rifiuta di avviarsi finché i dati non sono compatibili e non li modifica mai automaticamente). Usa il backup pg_dump dalla checklist qui sotto, ricrea il volume del database su postgres:18-alpine e ripristina il dump.
Come funziona la verifica delle versioni
Il frontend recupera https://quotenode.dev/releases/latest.json al momento dell’accesso all’area di amministrazione. Si tratta di una richiesta GET in sola lettura e non autenticata. Nessun dato dell’istanza viene inviato. La verifica può essere disabilitata:
VITE_RELEASE_CHECK_ENABLED=false
È inoltre possibile sovrascrivere l’URL del manifest:
VITE_RELEASE_MANIFEST_URL=https://your-mirror.example.com/releases/latest.json
Se il manifest non è raggiungibile, la verifica fallisce silenziosamente e il pannello di amministrazione continua a funzionare normalmente.
Lista di controllo pre-aggiornamento
Prima di procedere con l’aggiornamento:
- Annotare la versione corrente visibile in Admin > License o nella notifica di aggiornamento.
- Eseguire il backup di
.env— questo file contiene segreti che non possono essere rigenerati (in particolareDB_ENCRYPTION_KEY). - Eseguire un backup del database:
docker compose exec postgres pg_dump -U quotenode quotenode > backup-before-upgrade.sql
- Se i backup automatici sono abilitati (
BACKUP_ENABLED=true), verificare che esista un backup recente nel volume di backup.
Procedura di aggiornamento
Per le installazioni Docker Compose (Ubuntu VPS, LAN Linux, Coolify manuale):
docker compose pull
docker compose up -d
Questo comando scarica le immagini più recenti e ricrea soltanto i container le cui immagini sono cambiate. Le migrazioni del database vengono eseguite automaticamente all’avvio del backend.
Per Coolify con il deploy automatico abilitato, il push al branch configurato attiva l’aggiornamento automaticamente.
Verifica post-aggiornamento
Dopo che i container sono in esecuzione:
- Aprire
/health— dovrebbe restituireUP. - Accedere al sistema e verificare la nuova versione in Admin > License.
- Creare un’offerta di prova e generare un PDF per verificare che la pipeline funzioni correttamente.
- Aprire un link pubblico per verificare il routing del frontend.
- Se SMTP è configurato, verificare che venga inviata un’e-mail di notifica di prova.
Rollback
Se l’aggiornamento causa problemi:
- Non eseguire
docker compose down -v— questo comando elimina tutti i dati, incluso il database. - Arrestare i servizi:
docker compose down
- Modificare
docker-compose.yml(o.env) per fissare i tag delle immagini precedenti:
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
- Riavviare:
docker compose up -d
Se la nuova versione includeva migrazioni del database irreversibili, il solo rollback delle immagini potrebbe non essere sufficiente. In tal caso, ripristinare il database dal backup eseguito prima dell’aggiornamento:
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
Fissaggio dei tag delle immagini
Le guide di installazione utilizzano il tag latest per semplicità. Per le installazioni in produzione, è consigliabile fissare tag di versione espliciti per controllare quando avvengono gli aggiornamenti:
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
Per aggiornare, modificare il tag ed eseguire docker compose up -d.
Formato delle versioni
QuoteNode utilizza il versionamento semantico con un suffisso di canale:
v0.9.0-alpha— sviluppo inizialev0.9.0-beta— beta pubblicav0.9.0-rc— release candidatev0.9.0— versione stabile
Il manifest di rilascio include i campi version, channel, label e imageTags, consentendo al frontend di confrontare le versioni con precisione.