# Il server di Agenda di Casa Questa cartella serve a installare **PocketBase per Agenda di Casa** con Docker o con Coolify (guida *Agenda di Casa — con il tuo server*, Strada 3). | File | A cosa serve | |---|---| | `Dockerfile` | la "ricetta" della scatola: scarica PocketBase dal sito ufficiale (versione giusta per PC o Raspberry Pi), **controlla che sia il file ufficiale** e ci mette la migrazione | | `pb_migrations/1761730000_agenda_di_casa.js` | la **migrazione**: crea le tabelle dell'Agenda e chiude la registrazione libera degli account | ## Perché il Dockerfile controlla l'impronta Il Dockerfile scarica PocketBase da internet. Se un giorno quel file venisse sostituito con uno falso, sul tuo server finirebbe un programma qualsiasi, con accesso a tutti i dati della tua famiglia. Per questo, in cima al Dockerfile ci sono le **impronte SHA-256** dei file ufficiali: una specie di "impronta digitale" del file. Se il file scaricato è diverso anche di un solo byte, l'impronta non torna e la costruzione si ferma con il messaggio `IMPRONTA SBAGLIATA`. In quel caso **non forzare**: controlla la versione e le impronte (vedi sotto). ## Le righe da conoscere In cima al `Dockerfile` ci sono le uniche righe che potresti dover cambiare: - `PB_VERSION`: la versione di PocketBase. - `PB_SHA256_AMD64` e `PB_SHA256_ARM64`: le impronte dei due file ufficiali di **quella** versione. Si cambiano sempre insieme a `PB_VERSION`. - `PB_BASE_URL`: l'indirizzo da cui si scarica. Se la costruzione si ferma con `DOWNLOAD FALLITO`, l'indirizzo è cambiato: apri [pocketbase.io/docs](https://pocketbase.io/docs), copia il link del file Linux e metti in `PB_BASE_URL` la parte che viene **prima** di `/vNUMERO/pocketbase_NUMERO_linux_...zip`. ## Come aggiornare PocketBase 1. **Fai una copia dei dati** (pannello di PocketBase → Settings → Backups) e copia lo zip su un altro disco. 2. Leggi le note della nuova versione: a volte chiedono passaggi in più. 3. Nel terminale del tuo computer, scrivi la nuova versione al posto di `0.42.0` e lancia: ``` V=0.42.0 && curl -fsSL "https://ganigeorgiev.com/meta/pocketbase/pocketbase/download/v$V/checksums.txt" | grep -E "linux_(amd64|arm64)\.zip" ``` Compaiono due righe: un codice lungo seguito dal nome del file (`..._linux_amd64.zip` e `..._linux_arm64.zip`). Se l'indirizzo è cambiato, usa la parte che hai messo in `PB_BASE_URL`. 4. Nel `Dockerfile` scrivi la nuova versione in `PB_VERSION`, il codice della riga `amd64` in `PB_SHA256_AMD64` e quello della riga `arm64` in `PB_SHA256_ARM64`. 5. Rifai il Deploy. Nel registro deve comparire `/tmp/pb.zip: OK` e poi la versione nuova. ## Licenze Il `Dockerfile` e la migrazione sono software libero con licenza GNU GPL versione 3 o successiva, come l'app. Questo testo è sotto licenza Creative Commons BY-SA 4.0: se lo migliori, ti chiediamo (non è un obbligo) di proporre le modifiche al progetto, così servono a tutti. PocketBase, che il Dockerfile scarica e che non è contenuto qui, è software libero con licenza MIT.