selfhub.

Self-hosting guide

Actual Budget

Privacy-first personal budgeting app with envelope budgeting, rule-based categorization, reports, and optional bank synchronization.

How to Self-Host Actual Budget

Actual Budget privacy-first personal budgeting app with envelope budgeting, rule-based categorization, reports, and optional bank synchronization. It was added to SelfHub after appearing in What I Self-Host, What I Don't, and Why; the product facts below were checked against the project's official site and source repository.

When Actual Budget is a good fit

Choose Actual Budget when you want this capability on infrastructure you control and are prepared to own updates, access control, monitoring, and recovery. Review the upstream documentation before selecting a version because deployment requirements can change between releases.

Deployment notes

Use the official Actual server container or the documented Node deployment. Put it behind HTTPS because modern browsers require a secure context for several client features.

Place any browser-accessible interface behind HTTPS. Pin a release rather than an unqualified latest tag, apply updates deliberately, and keep the service reachable only from the networks and users that need it.

Data and recovery

Persist the server data directory and export budget files periodically. Test sign-in and a full budget restore after upgrades.

Write down the restore sequence, required secrets, exposed ports, and external dependencies. A scheduled backup is not complete until a clean host can restore it and pass a functional check.

Important limitation

Bank synchronization depends on separately configured providers and credentials; a manual OFX or CSV workflow avoids that external dependency.

Production checklist

  • Pin and record the deployed version.
  • Persist every documented data and configuration path.
  • Terminate TLS at a maintained reverse proxy or trusted tunnel.
  • Restrict administrative interfaces and rotate default credentials.
  • Monitor uptime, disk space, certificate expiry, and failed jobs.
  • Test an off-host backup with a real restore.

Official sources