This guide uses Synology's native Docker manager, Container Manager. This avoids Portainer which is used in Marius' guide, but is essentially the same official install process through Docker on any other system.
Prerequisites
- DiskStation Manager (DSM) 7.2+.. If you have an up-to-date Synology device you should be good to go.
- Container Manager. Can be installed from Package Center in DSM.
Prepare Project Folder
- Open File Station.
- Navigate to the directory where you'd like to store Actual Budget. This is up to the user to decide, but something like
/docker/
is common. - Click
Create
button and selectCreate folder
. Name the folder anything --actual-budget
is fine. - Navigate into this Project Folder, click
Create
button and selectCreate folder
. This time, name itdata
.
Create Project
- Open Container Manager.
- Click
Project
tab to open the Project view. - Click
Create
button to create a new Project.Project name
: This can be anything --actual-budget
is fine here too. It doesn't have to match the folder.Path
: ClickSet Path
and select the folder you created in Prepare Folder.Source
: SelectCreate docker-compose.yml
.
Adjust docker-compose
Actual provides a docker-compose file you can use at their GitHub repo. Here, I'll provide the minimum version you need to get up and running.
You can customize your docker-compose.yml
, but I'll also provide the minimum required mappings to get you going. If you feel like you want to dig deeper, check out the other server configuration options.
Setup YAML
Copy and paste this into the Conatiner Manager docker-compose.yml
area:
services:
actual_server:
image: docker.io/actualbudget/actual-server:latest
ports:
- "5006:5006"
volumes:
- ./actual-budget/data:/data
restart: unless-stopped
You can edit this YAML in the Container Manager editor, and the output will be saved to your Project Folder after the Project is saved (you can always go edit this later!).
Required changes
The only variable you must change is the volumes
argument. This is made up of your local path (./actual-budget/data
in this YAML) and the mapped location in Actual (/data
in this YAML). You'll need to replace ./actual-budget/data
with the full path to the data
folder you created in your Project Folder.
For example, if you made your folder at /docker/actual-budget/data
on a basic Synology setup, your volumes
argument should be - /volume1/docker/actual-budget/data
.
Optional changes
-image
: This is where the Actual Budget Docker image is sources from. The default is from Docker hub, but you can switch this to ghcr.io/actualbudget/actual
to use GiHub's container registry. They both function exactly the same way.
-ports
: The default port is 5006
. This means you'll visit https://<your-nas-ip>:5006
to use Actual. You can switch the first port to change it -- if you want port 1234
, set this to '1234:5006'
.
-restart
: The unless-stopped
rule means that Actual Budget will try to restart unless you specifically stop the container. Other options are here but you probably want the default.
Again, you can dive deeper into the server configuration options, but the above options are all that are required.
Finish Project
- Once your YAML is all set up, click
Next
button. - Web Portal is not necessary. If you don't know what it is, just click
Next
! - Confirm everything looks good in the Summary. You can check
Start the project once it is created
, then clickDone
. - Visit the web interface wherever you set it up (
https://<your-nas-ip>:5006
most likely) to ensure it works.
Troubleshooting
This installation is pretty basic, so if the web UI isn't working then it's probably an error in your docker-compose.yaml
.
- Did you create a
data
folder inside your Project Folder? - Did you correctly add the path to
data
in thevolumes
part of the YAML?
If both of these are true, then you have a problem elsewhere in your Synology setup.