Home Assistant repository to run Actual Budget as an addon
No, the add-on currently only supports the method described below using NGINX Proxy Manager. Nabu Casa and similar ingress based deployments are not currently supported. This is due to limitations in Actual Budget itself. For more info see Issue #5
Both the edge and stable versions are tracked from the official sources automatically and the latest releases should generally be available through Home Assistant within 24 hours. If it has been more than that time, feel free to create a GitHub Issue detailing the problem.
The following are based on obtaining a free DuckDNS domain with a Let's Encrypt certificate. If you want to use your own domain the steps around DuckDNS won't apply.
First to install use the following link to add the repository:
Alternatively go to the Add-On Store, Click the three dots, then Repositories, and then add the following:
https://github.com/sztupy/hassio-actualbudget
Once present you will need to install the following Add-Ons:
- DuckDNS
- MariaDB
- Nginx Proxy Manager (note: this is not the Nginx Home Assistant SSL Proxy)
- Actual Budget (either the Stable or the Edge version)
Note: the Stable and Edge versions can be installed in parallel but they will use a different datastore. To sync between the two you would need to download a backup and restore that in the other instance manually.
Make sure you have an account set up with DuckDNS http://www.duckdns.org/ Once logged in note the Token value at the top as it'll be needed. You should also set up your DuckDNS domain. In the examples below we will use hassio-actualbudget.duckdns.org
Once registered go to the Add-On config in Home Assistant for DuckDNS and add your domain into the Domains section, and your token into the Token section. Change the accept_terms section to true to accept the Let's Encrypt terms and conditions.
Once the changes are done go to Info and START the service. After a minute or so it should start up, if there are issues you can check the Log page for notes
Before you start MariaDB you should go to it's Add-On configuration and change the Login password to something more secure. Once that's done keep the rest of the config and START the Add-On
There is no configuration for Actual Budget. If you plan on running both the Stable and Edge versions, make sure you change the Port for one of them to something else than the default 5006. You can then START the service.
To check it has started you should navigate to http://homeassistant.local:5006. There will be a warning message about the connection not being secure, which we will sort out in the next step.
Finally START the Nginx Proxy Manager. Once started go to http://homeassistant.local:81 to set it up
- The default username/password is
admin@example.com/changeme - You will need to change both the username and password above after the first login
- After this go to the
SSL Certificatestab, and clickAdd SSL Certificate. UseLet's Encrypt - In the box that opens enter your domain name you set up in DuckDNS. Note, you can alternatively also set up an SSL Certificate for the wildcard version, e.g
*.hassio-actualbudget.duckdns.orgif you wish to use the certificate for multiple proxies, for example the stable and the edge versions separately. - Enter your email address, and click on
Use a DNS Challenge - From the DNS Provider box select
DuckDNS, and in the configuration section below replace theyour-duckdns-tokenpart with your DuckDNS token. Keep the rest of the config - Agree once again to the Let's Encrypt T&C, and click
Save
After a while the certificate will be ready, and you are allowed to continue
- Go to
Hosts->Proxy hosts - Click
Add Proxy Host - Set up the domain name you have. If you have set up a wildcard certificate in the previous section then make sure you use a subdomain, e.g.
stable.hassio-actualbudget.duckdns.org - Scheme should be set to
http, forward hostname tohomeassistant.localand port to5006(or the port you have configured for Actual Budget) - Go to the
SSLtab and select the certificate you created earlier - Click
Save
The following steps are based on where you would like to access your Actual Budget instance.
If you only wish to access Actual Budget in your local network then no changes are needed on the router. However you will need to set up a local DNS update to make sure that your domain points to your local instant of homeassistant. The easiest way to do it is by changing your hosts file:
- First obtain your homeassistant IP address. You can do that from a terminal by typing
ping homeassistant.local. You should get an IP address that looks something like192.168.1.181 - Next edit your hosts file. On Linux and OSX this will be at
/etc/hostson Windows this will be atc:\Windows\System32\Drivers\etc\hosts. Note you will need admin privileges to edit these files. - Add the following line to the end of the hosts file (replacing both the domain and the IP address with the ones you obtained):
hassio-actualbudget.duckdns.org 192.168.1.181
- Save this file
Once you have done this you should be able to access Actual Budget on https://hassio-actualbudget.duckdns.org with a fully verified certificate and no security errors. Note that you will need to do the hosts file change for every computer you wish to access your budget from, and your budget will only be accessible from your home network, and not from the internet.
On mobile phones where the hosts file cannot be edited you can use some "DNS filtering" applications, adding your domain above to the filter list (making sure it points to the IP address obtained above)
If you wish to access your Actual Budget instance anywhere in the world, you'll need to update your router settings to forward port 443 to your Home Assistant box. This step is different for each router, and you should consult the manual on how to do this step.
Once this has been done you should be able to access https://hassio-actualbudget.duckdns.org from anywhere where you have internet connection.
Do note that enabling port forwarding on your home router can expose you to additional security risks, so thread carefully when using this option. Your router's manual might have additional suggestion on how to keep your system as safe as possible after port forwarding is set up.