ezBookkeeping contabilità personale self-hosted su Linux

La gestione delle finanze personali è spesso affidata a servizi cloud che impongono compromessi sulla privacy. Per chi desidera tenere sotto controllo le proprie spese pur mantenendo il pieno possesso dei dati, ezBookkeeping è un’applicazione open source leggera e self-hosted che può essere eseguita tranquillamente su sistemi Linux, anche su hardware modestissimo come un Raspberry Pi.

In questo articolo esploreremo le sue caratteristiche principali, come installarla su Linux e alcune considerazioni su sicurezza e limiti da tenere presenti.

Che cos’è ezBookkeeping e perché usarlo su Linux

ezBookkeeping è un’applicazione progettata per il tracking delle finanze personali che punta a essere facile da installare, leggera e versatile. Può essere avviata con un solo comando Docker o installata da binario, ed è compatibile con database SQLite, MySQL e PostgreSQL. L’interfaccia è ottimizzata sia per desktop che per mobile, supportando PWA (Progressive Web App), modalità scura, gestione multivaluta e localizzazione.

Un utente Linux può trarre molti vantaggi da ezBookkeeping: l’installazione tramite package o script, la possibilità di integrarlo con altri strumenti open source, e la libertà di ospitarlo su hardware proprietario. Non ci si deve affidare a server remoti esterni, e i dati rimangono sotto il proprio controllo.

Installazione e configurazione su Linux

Per iniziare con ezBookkeeping su Linux, il metodo più rapido è usare Docker. Basta eseguire:

È importante che le cartelle host siano permissionate correttamente, poiché all’interno del container l’utente utilizzato è con UID e GID uguali a 1000.
Se si preferisce non usare Docker, è possibile scaricare i binari da GitHub e avviare l’app con:

È possibile anche inserire ezBookkeeping all’interno di un servizio systemd per garantire l’avvio automatico all’accensione del sistema.

Quando si usa un reverse proxy (ad esempio Nginx), occorre configurare il proxy in modo che inoltri correttamente le richieste all’istanza locale in ascolto sulla porta 8080, e specificare in root_url e domain la URL corretta di accesso.

Dopo l’avvio, si accede via browser all’indirizzo http://localhost:8080 o al dominio configurato. L’interfaccia offre un ambiente moderno e reattivo, con supporto per upload di immagini di ricevute, auto-riconoscimento tramite AI, transazioni ricorrenti, filtraggio avanzato, localizzazione basata su mappe e import/export da formati finanziari standard (CSV, OFX, QIF, Camt 053 e altro).

Personalizzazione e opzioni avanzate

I parametri dell’app sono configurabili tramite file .ini oppure tramite variabili d’ambiente con prefisso EBK_. È essenziale generare una chiave segreta casuale da assegnare a secret_key per la protezione dei dati sensibili. Inoltre, se si ospita l’app dietro HTTPS o in un percorso non radice (ad es. /ezbookkeeping), è necessario settare root_url e adattare le regole del reverse proxy.

Aspetti di sicurezza e avvertenze

Quando si gestisce un’app di finanza personale, la sicurezza è cruciale. Va segnalato che nella versione 0.7.0 di ezBookkeeping è stato rilevato un problema critico: l’assenza di protezioni contro attacchi brute force sul login e sui codici di backup 2FA. Inoltre, è emersa una vulnerabilità di escalation di privilegi tramite il componente token (CVE-2024-57604). Per mitigare tali rischi, anche su server locali Linux, è opportuno implementare meccanismi esterni di protezione come firewall, limitazioni sul traffico, fail2ban o WAF. Evitare l’esposizione dell’istanza su Internet senza protezione e mantenere sempre aggiornato il software con le versioni più recenti. Il progetto è in sviluppo attivo: nuove release contengono correzioni di bug e miglioramenti.

Infine, quando si archiviano dati sensibili, è raccomandabile attivare 2FA (se supportato), usare password robuste e controllare regolarmente i log delle attività per eventuali accessi sospetti.

Home ezBookkeeping

Lascia un commento