Sfoglia il codice sorgente

Procedura di aggiornamento specificata nel readme

main
Lorenzo Pollutri 2 settimane fa
parent
commit
91fce45519
1 ha cambiato i file con 37 aggiunte e 13 eliminazioni
  1. +37
    -13
      README.md

+ 37
- 13
README.md Vedi File

@@ -8,19 +8,20 @@ CMS per portali captive: gestione di card informative, gallerie, flip-book e con

1. [Prerequisiti di sistema](#prerequisiti-di-sistema)
2. [Avvio](#avvio)
3. [Configurazione (`lib/config.ts`)](#configurazione-libconfigts)
4. [Tipi di card](#tipi-di-card)
5. [File consentiti negli upload](#file-consentiti-negli-upload)
6. [Limiti di testo](#limiti-di-testo)
7. [Sicurezza degli input](#sicurezza-degli-input)
8. [Struttura dei dati (`data/`)](#struttura-dei-dati-data)
9. [Stato zero, rilasci e aggiornamenti del codice](#stato-zero-rilasci-e-aggiornamenti-del-codice)
10. [Backup e ripristino](#backup-e-ripristino)
11. [Factory Preset (developer)](#factory-preset-developer)
12. [Font](#font)
13. [Deploy sotto sotto-percorso (basePath) dietro Apache](#deploy-sotto-sotto-percorso-basepath-dietro-apache)
14. [Protezione dell'amministrazione (Keycloak) e routing](#protezione-dellamministrazione-keycloak-e-routing)
15. [Risoluzione problemi](#risoluzione-problemi)
3. [Aggiornamento](#aggiornamento)
4. [Configurazione (`lib/config.ts`)](#configurazione-libconfigts)
5. [Tipi di card](#tipi-di-card)
6. [File consentiti negli upload](#file-consentiti-negli-upload)
7. [Limiti di testo](#limiti-di-testo)
8. [Sicurezza degli input](#sicurezza-degli-input)
9. [Struttura dei dati (`data/`)](#struttura-dei-dati-data)
10. [Stato zero, rilasci e aggiornamenti del codice](#stato-zero-rilasci-e-aggiornamenti-del-codice)
11. [Backup e ripristino](#backup-e-ripristino)
12. [Factory Preset (developer)](#factory-preset-developer)
13. [Font](#font)
14. [Deploy sotto sotto-percorso (basePath) dietro Apache](#deploy-sotto-sotto-percorso-basepath-dietro-apache)
15. [Protezione dell'amministrazione (Keycloak) e routing](#protezione-dellamministrazione-keycloak-e-routing)
16. [Risoluzione problemi](#risoluzione-problemi)

---

@@ -104,6 +105,29 @@ Per un deploy reale del CPC, oltre a far girare il processo Next servono altri t

---

## Aggiornamento

La procedura standard per applicare un nuovo rilascio del CPC in produzione è:

1. **Backup dei contenuti** — dall'admin: Settings → Backup & Restore → **Save backup (ZIP)**. Conserva lo zip per un eventuale rollback. (Stessa cosa via curl: `curl -O http://localhost:3000/cards/api/admin/backup`.)
2. **Aggiorna il codice sul server** — entra nella cartella del progetto e tira la nuova versione:
```bash
cd /data/service/captive-portal-cms/captive-portal-cms
git pull
```
3. **Stop → rebuild → start** del demone Next:
```bash
/conf/etc/rc.d/rc.custom stop && npm run build && /conf/etc/rc.d/rc.custom start
```

Note operative:
- I contenuti in `data/` (card, configurazione del portale, media e font caricati) **non vengono toccati** dal rebuild. Il rebuild compila solo il codice; i dati restano dove sono.
- Il bootstrap automatico controlla `data/cards.txt` all'avvio: se è vuoto (es. macchina nuova) e c'è un `factory/preset.zip` nel repo, lo srotola — vedi [Factory Preset → Bootstrap automatico all'avvio](#factory-preset-developer).
- Il sito è momentaneamente offline tra lo stop e lo start (`npm run build` può richiedere fino a un minuto).
- **Se ci sono dipendenze npm nuove** tra una versione e l'altra: `npm install` deve girare **su una macchina con internet** (la produzione è offline). Su quella macchina lancia `npm install`, poi copi la cartella `node_modules` aggiornata sul server, e solo dopo fai il rebuild.

---

## Configurazione (`lib/config.ts`)

Tutte le impostazioni globali sono **flag build-time** nel file [`lib/config.ts`](lib/config.ts). Dopo ogni modifica serve ricostruire: `npm run build`.


Caricamento…
Annulla
Salva