Skip to main content

Actual Budget with Docker Compose

Actual Budget needs no external database. The server image ships an embedded SQLite database that lives in the /data volume, so a single container and one persistent volume is the whole stack. Persist /data and you have persisted every budget file and its sync history.

Before using the one-click template, here is a minimal Docker Compose example for self-hosting Actual Budget.

If you're new to Docker Compose, check out our guide on how to self-host a Docker Compose app. More stacks are in our Docker Compose library.

Self-host Actual Budget with Docker Compose (minimal)​

Actual ships as a single server image with a built-in database – no external database required.

services:
actual_server:
image: actualbudget/actual-server:latest
ports:
- "5006:5006"
volumes:
- actual-data:/data

volumes:
actual-data:

Deploy Actual Budget on Hostim.dev (one-click)​

Actual Budget is an open-source, self-hosted personal finance app built around zero-based (envelope) budgeting. It's fast, works offline, and keeps all your financial data on your own server. With Hostim.dev, you can deploy Actual with Docker and persistent storage in one click – complete with automatic domain and HTTPS.

💰 Take control of your money – fully private, no third party sees your finances.

Try it Yourself

Guest project runs for 1 hour. Log in to save and extend to 5 days.

Why Host Actual Budget on Hostim.dev?​

  • One-click Docker deployment
  • Persistent volume (/data) for your budget files
  • Automatic HTTPS and domain
  • Real-time logs and metrics
  • Fully self-hosted and private – your financial data never leaves your server

What's included​

ResourceDetails
Appactualbudget/actual-server image
Volume/data
DomainFree *.hostim.dev subdomain
SSLLet’s Encrypt (auto-enabled)
Port5006

How to Deploy​

  1. Go to your Hostim.dev dashboard.
  2. Click Create Project → Use a Template.
  3. Select Actual Budget.
  4. Choose a resource plan.
  5. Deploy.

On first visit you'll set a server password and create your budget file.


Frequently asked questions

Does Actual Budget need a database?

No. Actual Budget uses an embedded SQLite database stored inside the /data volume, so there is nothing extra to provision. There is no PostgreSQL or MySQL option, and none is needed — a single container plus one persistent volume is the complete stack.

Where does Actual Budget store its data in Docker?

In the /data volume mounted into the actualbudget/actual-server container. Each budget file and its sync history lives there. Backing up /data backs up everything; nothing of value is kept outside that volume.

What is the minimal docker-compose.yml for Actual Budget?

One service running actualbudget/actual-server:latest, port 5006 published, and a named volume mounted at /data. No database service, no reverse proxy and no environment variables are required to start; the server password is set in the browser on first visit.

Is self-hosted Actual Budget data private?

Yes. Actual Budget is fully self-hosted, so financial data stays on your own server. Turning on end-to-end encryption in the app additionally encrypts budget files between the server and your devices, so the server stores only ciphertext.

Can Actual Budget sync with my bank?

Yes. Actual Budget supports bank syncing through GoCardless for the EU and UK and through SimpleFIN for the US. Both are configured with your own API credentials in the app settings after the server is deployed.

How do I connect the Actual Budget mobile or desktop app?

Point the official Actual Budget mobile or desktop client at the server URL and sign in with the server password you set on first visit. The clients work offline and sync back to the server when they reconnect.

How do I back up Actual Budget?

Back up the /data volume, which holds the SQLite database and all budget files. You can also export individual budget files to ZIP from inside the app under Settings, which is the portable option if you move servers.

How do I update Actual Budget in Docker?

Run docker compose pull followed by docker compose up -d to pull the newest actual-server image. On Hostim, redeploy the app to pull the latest image. The /data volume survives the update, so budgets are kept.


Alternatives​

  • Firefly III — self-hosted personal finance manager with strong reporting
  • Maybe — open-source personal finance and wealth tracking
  • GnuCash — desktop double-entry accounting

Source + Docs​


Looking for something else? Browse all templates →


Try it now​

Deploy Actual Budget Now – in less than 60 seconds