Guida Introduttiva: Community Edition
La Community Edition (CE) di SagraFacile ti permette di eseguire l’intera piattaforma sulla tua infrastruttura locale. Questa versione è gratuita.
Panoramica
Con la Community Edition:
- Controllo completo: i dati rimangono sulla tua infrastruttura
- Funzionamento offline: continua a lavorare anche senza internet
- Gratuito: disponibile per il download su sagrafacile.it/releases
La Community Edition richiede conoscenze tecniche per l’installazione e la manutenzione. Se preferisci una soluzione gestita, considera la versione Cloud.
Prerequisiti
Prima di iniziare, assicurati di avere:
Software Richiesto
Windows
- Docker Desktop: necessario per eseguire l’applicazione — scarica qui
- PowerShell: già incluso in Windows 10 e versioni successive. Necessario per gli script di configurazione
- Un editor di testo: VS Code, Notepad++ o anche Blocco Note
Requisiti di Rete
- Dominio su Cloudflare: il tuo dominio deve essere gestito tramite Cloudflare per ottenere certificati SSL validi
- Accesso al router: per configurare il DNS locale
Requisiti Hardware (Consigliati)
- CPU: 2+ core
- RAM: 4+ GB
- Storage: 20+ GB disponibili
- Rete: connessione Ethernet stabile (consigliata rispetto al Wi-Fi)
Configurazione della Rete
Una corretta configurazione della rete è essenziale per il funzionamento di SagraFacile su tutti i dispositivi della tua rete locale.
Assegna un IP Statico al Server
Configura il computer che ospiterà SagraFacile con un indirizzo IP locale statico (es. 192.168.1.10). Questo garantisce che l’indirizzo non cambi dopo un riavvio.
Configura il DNS su Cloudflare
- Accedi al tuo account Cloudflare
- Crea un record DNS di tipo A che punti all’indirizzo IP pubblico della tua rete
- Questo è necessario per la validazione del certificato SSL
Configura il DNS Locale sul Router
Configura il tuo router per risolvere il tuo dominio (es. sagrafacile.tuaorganizzazione.it) all’indirizzo IP locale del server (es. 192.168.1.10).
Questa funzione è spesso chiamata:
- “Local DNS”
- “DNSMasq”
- “Static Hostname”
- “DNS Rebinding”
Senza questa configurazione, i dispositivi sulla tua rete locale cercheranno di connettersi all’IP pubblico invece che al server locale, causando problemi di connessione.
Installazione
Windows
Scarica SagraFacile
Scarica l’ultima versione del pacchetto dalla pagina Releases ed estrailo in una cartella (es. C:\sagrafacile).
Crea un API Token su Cloudflare
- Vai su Cloudflare: My Profile > API Tokens > Create Token
- Usa il template “Edit zone DNS”
- Permessi:
Zone:DNS:Edit - Risorse: Seleziona il tuo dominio specifico
- Copia il token generato
Esegui lo Script di Configurazione
Apri il Prompt dei comandi (o PowerShell) nella cartella di SagraFacile ed esegui:
start.batLo script rileva automaticamente se è il primo avvio o un avvio successivo:
- Primo avvio: guida interattiva completa, crea il file
sagrafacile_config.json - Avvii successivi: usa la configurazione salvata. Puoi scegliere se usarla così com’è o riconfigurare
Durante la configurazione lo script chiede:
| Campo | Descrizione |
|---|---|
| Nome di dominio | Es. sagrafacile.tuaorganizzazione.it |
| API Token Cloudflare | Per ottenere i certificati SSL |
| Utente PostgreSQL | Credenziale database (default: sagrafacile) |
| Password PostgreSQL | Credenziale database |
| Nome database | (default: sagrafaciledb) |
| JWT Secret | Chiave di sicurezza — può essere generata automaticamente |
| Seed dati demo | Carica dati di esempio per testare l’applicazione |
| Nome organizzazione | Nome del tuo evento o associazione |
| Email admin | Email dell’amministratore principale |
| Password admin | Password per l’account admin |
Selezionando No al seed demo, ti verrà chiesto di inserire i dati della tua organizzazione. Selezionando Sì, verrà caricato un dataset di esempio (utile per valutare le funzionalità).
Alla fine dello script è disponibile una sezione Configurazione Avanzata (opzionale):
| Campo | Descrizione | Default |
|---|---|---|
| JWT Issuer | Identificatore dell’emittente del token | SagraFacile |
| JWT Audience | Identificatore del destinatario del token | SagraFacileApp |
| PreOrder Polling Service | Abilita il servizio di polling per i preordini | true |
Queue Display Customer QR (PUBLIC_QUEUE_QR_ENABLED) | Mostra il QR cliente nelle pagine Display Coda pubbliche | false |
| Cloudflare Email | Email Cloudflare (solo per alcuni plugin DNS) | — |
Attendi l’Avvio dei Servizi
Lo script avvierà Docker Compose e tutti i servizi necessari. Al primo avvio:
- Verranno scaricate le immagini Docker (può richiedere alcuni minuti)
- Caddy otterrà automaticamente un certificato SSL da Let’s Encrypt
- Il database verrà inizializzato
Struttura dei File
Dopo l’installazione, la cartella avrà questa struttura:
- docker-compose.yml
- Caddyfile
- .env
- sagrafacile_config.json
- start.bat
- start.sh
- stop.bat
- stop.sh
- update.bat
- update.sh
| File | Descrizione |
|---|---|
docker-compose.yml | Configurazione dei servizi Docker |
Caddyfile | Configurazione del reverse proxy e SSL |
.env | Variabili d’ambiente (generato automaticamente da start.*) |
sagrafacile_config.json | Configurazione salvata — riletta ad ogni avvio successivo |
start.* | Avvia i servizi (e gestisce la configurazione al primo avvio) |
stop.* | Ferma i servizi |
update.* | Aggiorna le immagini Docker all’ultima versione |
Non modificare .env manualmente: viene rigenerato dallo script start.* ad ogni avvio. Tutte le modifiche alla configurazione vanno fatte rieseguendo start.* e scegliendo l’opzione di riconfigurazione.
Accesso a SagraFacile
Una volta che i servizi sono attivi:
Apri il browser
Da qualsiasi dispositivo connesso alla tua rete locale, naviga a:
https://tuo.dominio.comSostituisci tuo.dominio.com con il dominio che hai configurato.
Effettua il login
Usa le credenziali configurate durante l’installazione (email e password admin).

Accedi alla Dashboard
Dopo il login, verrai reindirizzato alla dashboard di amministrazione dove potrai iniziare a configurare il tuo evento.
Gestione dei Servizi
Avviare i Servizi
Esegui start.* dalla cartella di SagraFacile:
Windows
start.batSe esiste già un file sagrafacile_config.json, lo script chiederà se usare la configurazione esistente o riconfigurare. Premi Invio (o digita 1) per avviare con la configurazione salvata.
Fermare i Servizi
Windows
stop.batAggiornare i Servizi
Per aggiornare SagraFacile a una nuova versione:
Scarica il nuovo pacchetto
Scarica il nuovo ZIP dalla pagina Releases ed estrailo in una cartella temporanea.
Sostituisci docker-compose.yml
Copia il file docker-compose.yml dalla cartella temporanea nella cartella di SagraFacile, sovrascrivendo quello esistente. Questo è necessario perché ogni release fissa la versione delle immagini Docker.
Esegui lo script di aggiornamento
Windows
update.batLo script scarica le nuove immagini Docker e riavvia i servizi. La configurazione e i dati esistenti vengono preservati automaticamente.
Puoi anche aggiornare gli altri file (script start.*, stop.*, update.*) dal nuovo ZIP, ma non è obbligatorio se funzionano correttamente.
Riconfigurare
Per modificare qualsiasi impostazione (dominio, credenziali, JWT secret, ecc.), riesegui start.* e scegli l’opzione 2 - Re-configure SagraFacile. La configurazione salvata verrà mostrata come default per ogni campo.
Visualizzare i Log
docker compose logs -fPer visualizzare i log di un servizio specifico:
docker compose logs -f api # Log del backend
docker compose logs -f frontend # Log del frontend
docker compose logs -f caddy # Log del reverse proxy
docker compose logs -f db # Log del databaseRisoluzione Problemi
Il certificato SSL non viene ottenuto
Se Caddy non riesce a ottenere il certificato SSL, verifica che:
- Il record DNS su Cloudflare punti correttamente al tuo IP pubblico
- L’API Token di Cloudflare sia valido e abbia i permessi corretti (
Zone:DNS:Edit) - Le porte 80 e 443 siano raggiungibili dall’esterno (solo durante l’ottenimento del certificato)
Controlla i log di Caddy per maggiori dettagli:
docker compose logs -f caddyI dispositivi non riescono a connettersi
Verifica che:
- Il DNS locale sia configurato correttamente sul router
- Tutti i dispositivi siano sulla stessa rete locale
- Il firewall del server non blocchi le porte 80 e 443
Il database non si avvia
Se il database non si avvia correttamente:
docker compose logs -f dbIn caso di problemi persistenti, puoi ricreare il volume del database (perderai tutti i dati):
docker compose down -v
docker compose up -dIl comando docker compose down -v elimina tutti i dati del database. Usalo solo se sei sicuro di voler ricominciare da zero.
Python 3 non trovato (macOS / Linux)
Se lo script start.sh restituisce Missing required command: python3, installa Python 3:
macOS
brew install python3Backup e Manutenzione
Backup del Database
I dati del database sono salvati in un volume Docker. Per fare un backup:
docker compose exec db pg_dump -U postgres sagrafacile > backup.sqlRipristino del Database
Per ripristinare da un backup:
docker compose exec -T db psql -U postgres sagrafacile < backup.sqlBackup della Configurazione
Il file sagrafacile_config.json contiene tutta la configurazione dell’installazione. Conservane una copia in un posto sicuro, specialmente il JWT Secret: perderlo richiede la riconfigurazione completa e il logout forzato di tutti gli utenti.
Prossimi Passi
Dopo aver completato l’installazione:
- Consulta la guida Organizzazioni e Aree per configurare la struttura del tuo evento
- Leggi la guida Utenti e Ruoli per capire come gestire il team
- Segui la Guida Amministratore per la configurazione completa