| @@ -302,6 +302,19 @@ Punti chiave: | |||||
| - **`timeout=600`**: upload video fino a 1 GB e download dei backup ZIP possono superare i 30s. | - **`timeout=600`**: upload video fino a 1 GB e download dei backup ZIP possono superare i 30s. | ||||
| - `BASE_PATH` e il target del proxy devono combaciare. Per tornare alla radice: `BASE_PATH = ''` + proxy verso `http://localhost:3000/`. | - `BASE_PATH` e il target del proxy devono combaciare. Per tornare alla radice: `BASE_PATH = ''` + proxy verso `http://localhost:3000/`. | ||||
| ### Compatibilità senza proxy / alla radice | |||||
| `BASE_PATH` è una scelta **build-time** (il prefisso viene inlinato nel bundle al `npm run build`), non runtime. Entrambi gli scenari sono supportati: | |||||
| | `BASE_PATH` | Risponde su | Proxy necessario? | | |||||
| |---|---|---| | |||||
| | `''` | `/` (radice) | No | | |||||
| | `'/cards'` | `/cards` | No per far girare l'app; sì solo per esporla pubblicamente sotto `/cards/` | | |||||
| - Con `BASE_PATH = ''` l'app è identica alla versione senza sotto-percorso: gira sulla radice e l'helper [`withBasePath`](lib/url.ts) diventa un no-op. È il percorso di regressione. | |||||
| - Con `BASE_PATH = '/cards'` l'app vive **sempre** sotto `/cards`, anche **senza** proxy: in locale la raggiungi su `http://localhost:3000/cards` (la radice `/` dà 404). Il proxy serve solo a esporla pubblicamente. | |||||
| - Un singolo build **non** può rispondere contemporaneamente su `/` e su `/cards`: per cambiare percorso modifica `BASE_PATH` e ricompila. | |||||
| ## Prerequisiti di sistema | ## Prerequisiti di sistema | ||||
| Sul server servono alcuni binari di sistema (richiamati direttamente, non via npm): | Sul server servono alcuni binari di sistema (richiamati direttamente, non via npm): | ||||