Productivity & PM 1 service 256 MiB RAM 2 GB disk

Actual Budget

Local-first envelope budgeting - end-to-end encrypted, synced by a $5 server you own.

One-click deploy, from $5/mo on a Miget plan.

Actual is the YNAB methodology - envelope budgeting where every dollar gets a job - rebuilt as MIT open source with a privacy spine: budgets live ON your devices, end-to-end encrypted, and this little server only syncs ciphertext between them. PikaPods features it on their homepage for a reason.

One tiny container, one volume, one first-visit ritual: set the server password before anyone else finds the URL. Bank data comes in via file imports or community bank-sync bridges; your finances stay yours, portably, forever.

#what you get

  • Envelope budgeting (the YNAB method) with reports and schedules
  • End-to-end encryption: the server stores only ciphertext
  • Syncs browser, desktop, and mobile apps
  • File imports (OFX/QFX/CSV) + community bank-sync bridges
  • MIT, tiny, beloved

#topology

ServiceRolePublic
actualsync server + web app (:5000)yes - set the password on first visit

#miget sizing

// this stack needs

256 MiB RAM · 2 GB disk · 1 service

Finances are kilobytes. Set the server password immediately on first visit - until then the instance is claimable.

Hobby - recommended fit

$5/mo

1 vCPU · 512 MiB · 10 GiB disk

Headroom for your own apps: 1 GiB at $7/mo

Professional - production

$22/mo

1 vCPU · 2 GiB · 10 GiB disk

Dedicated resources, production SLOs - plan details

One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.

#vs. the managed service

What the hosted equivalents charge, against the flat Miget plan this stack fits on. Prices as of June 2026, sources linked.

ServicePlanMonthlyWhat you get
Actual Budget on Miget 512 MiB plan$5this whole stack, flat - no usage meters, and room left for your own apps
YNABannual~$9$109/yr (or $14.99 monthly) - the methodology Actual implements, plus bank sync

Actual is free software; the $5 plan is the sync server. YNAB’s bank sync is the one feature you trade (community bridges exist).

#vs. other PaaS

Estimated monthly cost of running this exact stack (256 MiB RAM, 2 GB disk, 1 container) elsewhere, from published June 2026 rates.

PlatformEst. monthlyNotes
Miget $5 flat compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan
Heroku ~$13 no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown
DO App Platform ~$10 no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here)
Render ~$8 per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service
Railway ~$3 usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top
Fly.io ~$2 cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra

Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.

#deploy it

On Miget

  1. Create a Compose Stack in app.miget.com pointing at the templates repository
  2. Set the stack path to actual
  3. No required variables - deploy as-is
  4. Deploy. Miget layers compose.miget.yaml (RAM, privacy, volumes, managed services) automatically

Locally first?

Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:

git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/actual
docker compose up -d

Same files, same behavior. The template README covers connection strings and scaling notes.

#faq

How does this compare to YNAB?

Same envelope methodology; YNAB charges ~$110/year and holds your data. Actual is $5/month of server (which can share a plan with everything else here), with budgets end-to-end encrypted - the server operator (you, but it matters on principle) cannot read them.

What does end-to-end encryption mean here?

Budget files encrypt on your device with a key derived from your password; the server syncs blobs it cannot decrypt. Lose the password and even you cannot recover the data - the trade of real E2EE, stated plainly.

Can my partner and I share a budget?

Yes - the same budget file syncs to multiple devices with the shared password. Separate budgets on one server work too; each file has its own encryption.

Ship Actual Budget today

One compose stack, 256 MiB of RAM, from $5/month flat, and it runs on your laptop with the same files.