EU banks · self-hosted
Setup Wizard

Connect your European bank to Actual Budget — in minutes

Fill in your details, download two config files, and run one command on your server. That's it.

Get my config files — €19.99 View source on GitHub
Your data never leaves your browser. Files are generated locally — nothing is sent to any server.
How it works
01
Fill the wizard
Enter your Enable Banking credentials, Actual Budget details, and pick your bank. Takes about two minutes.
02
Download your files
Get a pre-filled .env and docker-compose.yml — no manual editing required.
03
Run on your server
Drop the files in a folder on your server and run one command. Transactions sync to Actual Budget automatically from there.
Pricing
One-time payment
19.99
One payment. One set of config files.

Configure your setup

// your data never leaves your browser

Enable Banking

You need a free Enable Banking account with an application created. Sign up here →
Your private.pem key file stays on your server — you won't enter it here.

This field is required
Exact name from Enable Banking
This field is required
step 1 / 4
Actual Budget

Enter the details of your self-hosted Actual Budget instance. Find the Sync ID under Settings → Show advanced settings inside Actual Budget.

Local IP or hostname your server uses to reach Actual Budget
This field is required
This field is required
Actual Budget → Settings → Show advanced settings → Sync ID
This field is required
Must match exactly the account name in Actual Budget
This field is required
step 2 / 4
Sync settings

Configure how often your transactions sync. Email alerts are optional — useful for when your Enable Banking session needs renewal every ~180 days.

As it appears in bank statements. Helps identify payees on incoming transfers. Comma-separate multiple variations.
Email alerts
step 3 / 4
Review & generate

Double-check everything below. Go back to change anything, then click Generate to download your files.

step 4 / 4

Your files are ready

Download both files and place them in the same folder on your server.

.env
docker-compose.yml

What to do next

1
Go to the Enable Banking developer dashboard → Applications → your app. There you'll find a button to download your private.pem key file to your computer.

Then upload it to your server so it ends up at ~/bridge-bank/data/private.pem. From your computer's terminal:

scp ~/Downloads/private.pem youruser@yourserver:~/bridge-bank/data/private.pem

// Replace ~/Downloads/private.pem with wherever it was saved, and youruser@yourserver with your SSH login.
2
Place both downloaded files in ~/bridge-bank/ alongside the data folder
3
Run the one-time bank authorisation:
docker run --rm -it -v "$(pwd)/data:/data" --env-file .env daalves/bridge-bank:latest python dosetup.py
4
Start the sync: docker compose up -d
5
Confirm it's running: docker compose logs -f
⚠️
Bank sessions expire every ~180 days
Enable Banking requires you to re-authorise access roughly every 6 months. When that happens, re-run the bank authorisation command from step 3 above, then restart the container with docker compose restart.

If you configured email alerts in the wizard, you'll get a notification before expiry so you're never caught off guard.

Payment confirmed

Your receipt has been sent to your email. Now let's set up your config files — it only takes a couple of minutes.