Salta ai contenuti

Installa Fulgoria

Fulgoria include un server leggero (server.js, Node/Express) che fa solo due cose: serve l’app statica e, facoltativamente, la protegge dietro un login letto da .env. Il documento stesso viene sempre elaborato al 100% nel browser — il server non lo riceve mai, applica una CSP rigorosa e header di sicurezza, e non espone mai .env, server.js o alcun campione privato.

Docker

Consigliato per la produzione. Usa l’immagine predefinita o compila localmente con docker compose.

Node.js 18+

Necessario solo se esegui il server direttamente con npm invece di Docker.

Un browser moderno

Tutta l’estrazione (parsing PDF, OCR, modifica) viene eseguita lato client, quindi un browser attuale è il luogo dove avviene il lavoro vero.

Il percorso più rapido è l’immagine pubblicata su GHCR, compilata dalla CI a ogni push su main.

Terminal window
docker run -d \
-p 3000:3000 \
-e AUTH_ENABLED=true \
-e AUTH_USER=diego \
-e AUTH_PASSWORD='your-password' \
-e SESSION_SECRET="$(openssl rand -hex 32)" \
-e COOKIE_SECURE=false \
ghcr.io/diegoparras/fulgoria:latest

Poi apri http://localhost:3000.

  1. Apri l’app su http://localhost:3000 (o l’host che hai configurato).
  2. Se AUTH_ENABLED=true, accedi con AUTH_USER e la password che hai configurato.
  3. Fai clic su Apri PDF o immagine, oppure su Vedi un esempio per caricare un estratto conto di prova.
  4. Marca le colonne, verifica che il saldo diventi verde, ed esporta in CSV.

Tutta la configurazione risiede in .env (copialo da .env.example). Il file .env non viene mai committato né servito.

VariabilePredefinitoDescrizione
PORT3000Porta su cui ascolta il server leggero.
AUTH_ENABLEDtrueImposta su false per servire l’app senza password (uso locale o su rete privata).
AUTH_USERdiegoNome utente per il login.
AUTH_PASSWORD(vuoto)La password — testo in chiaro, o un hash bcrypt da --hash.
SESSION_SECRET(vuoto)Segreto usato per firmare il cookie di sessione. Generalo con openssl rand -hex 32.
SESSION_TTL_HOURS12Durata della sessione, in ore.
COOKIE_SECUREtrueMantieni true dietro HTTPS; imposta false solo per testare localmente su http://.
ESCRIBA_URL(vuoto)Destinazione del pulsante “Invia a Escriba”. Se vuoto, ripiega su /. Puntalo al tuo Escriba, ad es. https://your-escriba.com/.