Actual Budget: il proprio gestore del budget personale su un VPS
Un'app bancaria mostra dove sono già finiti i soldi. Actual Budget risponde a una domanda diversa: quanto della somma disponibile si può davvero spendere quando una parte è già destinata all'affitto, alla spesa, alle vacanze e agli imprevisti?
Actual Budget è un gestore gratuito e open source per le finanze personali. Funziona in locale, si sincronizza attraverso un server proprio e supporta la crittografia end-to-end. Vediamo le sue funzionalità, i limiti e come installarlo su un VPS.
Actual Budget in sette passaggi
- Creare un VPS Linux e indirizzarvi un sottodominio, ad esempio
budget.example.com. - Installare Docker e Docker Compose.
- Avviare il container ufficiale con una directory dati persistente.
- Configurare HTTPS tramite Caddy.
- Impostare una password del server e creare un budget.
- Aggiungere conti, categorie, regole e pagamenti ricorrenti.
- Attivare la crittografia e configurare un backup esterno.
Che cos'è Actual Budget
Actual Budget è un'applicazione self-hosted per gestire un budget personale o familiare. Viene spesso considerata un'alternativa aperta a YNAB, ma è anche possibile iniziare con un budget completamente nuovo.
Il servizio utilizza il metodo delle buste virtuali. Supponiamo che sui conti ci siano 100.000 rubli. Di questi, 40.000 servono per la casa, 20.000 per la spesa, 10.000 per le utenze e 15.000 per una riserva. Dopo la distribuzione, per gli acquisti non essenziali non restano 100.000 rubli, ma soltanto 15.000.
Questo approccio cambia il ruolo dell'applicazione. Un normale tracker delle spese spiega le uscite passate, mentre Actual Budget aiuta a prendere una decisione prima dell'acquisto. Il saldo non utilizzato di una categoria viene riportato al periodo successivo e, in caso di spesa eccessiva, è possibile spostare denaro da un'altra busta.
Un'altra differenza è l'architettura local-first. Il budget viene memorizzato sui dispositivi collegati e resta disponibile anche senza Internet. Quando la connessione torna disponibile, le modifiche vengono sincronizzate tramite il server. Il VPS serve soprattutto a scambiare dati tra computer, telefono e browser, non a elaborare ogni singola operazione.
Funzionalità principali di Actual Budget
- Budget a buste. Viene distribuito soltanto il denaro già ricevuto.
- Conti e operazioni. Sono disponibili trasferimenti, suddivisione di un acquisto tra più categorie, note e riconciliazione del saldo.
- Regole e pianificazioni. È possibile ripulire le descrizioni bancarie, assegnare categorie e considerare in anticipo stipendio, affitto o abbonamenti.
- Importazione. Sono supportati CSV, QIF, OFX, QFX e CAMT. I formati con identificatori delle operazioni proteggono meglio dai duplicati.
- Report. Sono disponibili flusso di cassa, patrimonio netto, spese e grafici personalizzabili.
- Migrazione e API. È possibile importare da YNAB4 e dalla versione attuale di YNAB, oltre a usare un'API per integrazioni personalizzate.
Sul telefono, Actual Budget viene installato come PWA, cioè come applicazione web aggiunta alla schermata iniziale. È consigliabile verificare in anticipo se l'interfaccia mobile è abbastanza comoda.
| Parametro | Servizio cloud | Actual Budget |
|---|---|---|
| Archiviazione | Presso il fornitore | Sul dispositivo e sul proprio server |
| Uso senza Internet | Dipende dal servizio | Le funzioni principali sono disponibili in locale |
| Manutenzione | Gestita dal fornitore | Gestita dal proprietario |
| Costo del programma | Abbonamento o piano gratuito | Nessun abbonamento obbligatorio |
| Controllo dei dati | Secondo le regole del fornitore | Nelle mani del proprietario del server |
Actual Budget è adatto a chi considera importanti privacy e controllo. Un servizio cloud è più comodo se non si desidera amministrare un server.
Requisiti server di Actual Budget
Il progetto non pubblica requisiti minimi rigidi per CPU e RAM. Il server sincronizza principalmente piccole quantità di dati finanziari, quindi una configurazione iniziale ragionevole per una persona o una famiglia è:
- 1 vCPU;
- 1 GB di RAM;
- SSD da 10 GB;
- Ubuntu 24.04 LTS;
- un dominio o sottodominio;
- spazio esterno per il backup.
Questa è una raccomandazione pratica, non un minimo ufficiale. Se si prevede di eseguire altri container, è meglio riservare 2 GB di RAM.
Come installare Actual Budget su un VPS
Nell'esempio vengono utilizzati Ubuntu 24.04 e il sottodominio budget.example.com.
1. Preparare il server
Creare un record DNS A diretto all'indirizzo IP del VPS, collegarsi tramite SSH e aprire soltanto le porte necessarie:
ssh root@SERVER_IP
apt update && apt upgrade -y
apt install -y ca-certificates curl ufw
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable2. Installare Docker
Aggiungere il repository ufficiale di Docker:
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin3. Avviare Actual Budget
mkdir -p /opt/actual-budget/data
cd /opt/actual-budget
cat > compose.yml <<'EOF'
services:
actual:
image: actualbudget/actual-server:latest
restart: unless-stopped
ports:
- "127.0.0.1:5006:5006"
volumes:
- ./data:/data
EOF
docker compose up -d
docker compose psIl collegamento a 127.0.0.1 impedisce di esporre direttamente la porta 5006 a Internet. I budget vengono salvati in /opt/actual-budget/data e non scompaiono quando il container viene aggiornato.
4. Configurare HTTPS
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
budget.example.com {
reverse_proxy 127.0.0.1:5006
}
EOF
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddyQuando il DNS punta al VPS e le porte 80 e 443 sono accessibili, Caddy ottiene automaticamente un certificato TLS. Aprire https://budget.example.com e impostare una password lunga per il server.
Come configurare il primo budget
Non è obbligatorio iniziare importando diversi anni di cronologia. È più rapido aggiungere i conti attualmente utilizzati, indicare i saldi correnti e creare categorie per pagamenti obbligatori, spese quotidiane, risparmi e uscite irregolari.
Distribuire soltanto il denaro disponibile finché l'importo «da assegnare» non arriva a zero. Quindi importare le operazioni recenti, verificare i saldi e creare regole per negozi, abbonamenti e trasferimenti frequenti.
Le categorie devono aiutare a prendere decisioni. Buste separate per «salute», «riparazione dei dispositivi» e «abbonamenti annuali» sono più utili di una categoria generica «altro».
Cosa sapere sulla sincronizzazione bancaria
Il collegamento bancario non è disponibile in tutti i Paesi e dipende dal provider API supportato. Richiede un server proprio e credenziali aggiuntive. Actual Budget non esegue la sincronizzazione in modo completamente automatico: deve essere avviata dall'utente nell'interfaccia.
I token dei collegamenti bancari vengono memorizzati separatamente sul server e non rientrano nella crittografia end-to-end del budget. Se una banca specifica non è supportata, le operazioni possono essere importate da un estratto conto. OFX e QFX sono generalmente più comodi di CSV perché contengono gli identificatori delle transazioni.
Crittografia, backup e aggiornamenti
La crittografia end-to-end viene attivata separatamente per ogni budget. La password deve essere conservata in un password manager, perché il server non può recuperarla. Actual Budget non cifra autonomamente la copia locale, quindi telefono e computer devono essere protetti con un codice di blocco e la crittografia del disco.
La sincronizzazione non sostituisce un backup. Esportare regolarmente il budget dalle impostazioni e copiare la directory dei dati in un'altra posizione:
cd /opt/actual-budget
docker compose stop
tar -czf /root/actual-budget-$(date +%F).tar.gz data
docker compose startL'archivio deve essere trasferito fuori dal VPS. Prima di un aggiornamento, creare un'altra copia e poi eseguire:
cd /opt/actual-budget
docker compose pull
docker compose up -dPer l'uso continuativo, scegliere il tag stabile latest invece del tag sperimentale nightly.
Quale VPS scegliere per Actual Budget
Un'istanza personale non richiede un server potente. Un VPS Linux di base di tropic.host è sufficiente per ospitare Actual Budget, Caddy e un sottodominio con HTTPS. È ragionevole iniziare con 1 GB di RAM e aumentare le risorse soltanto quando si aggiungono altri servizi self-hosted.
Non esporre direttamente la porta 5006, installare gli aggiornamenti e conservare almeno un backup fuori dal VPS principale. La sicurezza di un servizio self-hosted dipende dalla configurazione effettuata dal proprietario.
Limiti di Actual Budget
Actual Budget richiede manutenzione autonoma. La sincronizzazione bancaria è limitata da Paesi e provider, la versione mobile funziona come PWA e la perdita della password di crittografia può impedire l'accesso al budget.
Il servizio non è adatto a tutti, ma risolve bene un compito specifico: unisce il metodo delle buste, l'automazione e il controllo dei dati senza richiedere un abbonamento.
Conclusione
Actual Budget trasforma la registrazione delle spese in un piano: ogni somma ricevuta ottiene in anticipo una destinazione. L'applicazione funziona in locale, si sincronizza tramite il proprio server e supporta importazione, regole, report e crittografia.
Per eseguirla è sufficiente un piccolo VPS. Dopo l'installazione, gli aspetti più importanti sono configurare HTTPS, conservare la password di crittografia e predisporre un backup esterno.
FAQ
Actual Budget è gratuito?
Sì. L'applicazione è distribuita come software open source e non richiede un abbonamento obbligatorio. VPS, dominio e spazio per i backup si pagano separatamente.
È obbligatorio installare Actual Budget su un VPS?
No. Può essere utilizzato localmente su un solo computer. Il server serve per la sincronizzazione tra dispositivi, i collegamenti bancari, l'API e l'accesso web permanente.
È possibile collegare Actual Budget a una banca?
Sì, se la banca e la regione sono supportate da uno dei provider disponibili. Negli altri casi, le operazioni possono essere importate da CSV, QIF, OFX, QFX o CAMT.
È sicuro conservare il budget sul proprio server?
Sì, con una configurazione corretta, ma la responsabilità è del proprietario. Servono HTTPS, una password lunga, crittografia, aggiornamenti e backup esterni.
Quanta RAM richiede Actual Budget?
Non esiste un valore minimo ufficiale. Per un'istanza personale, 1 GB di RAM è un punto di partenza pratico; se si ospitano altri servizi, è meglio prevedere 2 GB.
