You want to self-host apps for fun or privacy - but not the ‘running servers in your garage’ type of self-hosted. In 2022 we live in a Golden Era of low-cost VPCs and hosting providers, and there has never been a better time for people looking to offload the frustrating parts of self-hosting, while still operating on a shoe-string budget (or free!).
Speaking of budgeting, you’re here because you want to host Actual and take control of your finances! These deployment instructions are available on the repo as well , but I wanted an excuse to go through the process of deploying onto Fly.io and documenting. Plus, now I can add pretty pictures, and who doesn’t love pretty pictures and see what they’re getting themselves into?
Your first step is to get the Actual server code on your machine and running.
At this point, you should be able to navigate to localhost:5006 and see the Actual application! Awesome!
Now kill that process with Ctrl+C
and let’s put it somewhere with more longevity.
We need to take a quick detour to ensure you have an account with Fly.io .
Install
the flyctl
CLI tool.
Authenticate with flyctl auth signup
(for newbies), or flyctl auth login
(existing accounts).
⚠️ You will have to add credit card information to the account, so if that’s enough to keep you from using a free service 🤷- keep your usage to the free tier and you’ll have no issues.
We’re back on track! You should be back in the same actual-server/
directory for the rest of the process. Deploying to Fly requires a few small tweaks to a config file, a couple commands, and then you’ll have a live app on the interwebs!
cp fly.template.toml fly.toml
flyctl launch --no-deploy
flyctl volumes create actualbudget_vol --size 1 -r ord
ℹ️ I set this to volume of 1 GB since I am deploying multiple apps on Fly, but the free tier supports up to 3GB for your account .
Update the mounts section in the fly.toml
, source
will be the name of your sweet new volume, and destination
is defined by Actual
. Now is also a great time to edit the app name - I got the fantastic lively-meadow-7214
, but not everyone will be that lucky.
The big moment you’ve been waiting for - deployment! Run flyctl deploy
and watch the magic work.
Now you have a live app running on Fly.io !
With a few commands and almost no thought required, I have a self-hosted Actual live and ready for use. Oh, the pretty pictures I promised!
The very first thing you’re greeted with is Actual prompting for server configuration, explained in more depth in the repo
. TL;DR You can just pick Use this domain
and not worry about it.
After that, I chose the option to fill Actual with demo data so I could play around and actually check out it’s features (see the image at top of page again).
I gotta hand it to the team at Fly, they’ve made it a very slick process for your first apps. Also thanks & congrats to @jlongster for building out a slick little tool and open-sourcing it for the community . Best of luck to them both.
Questions? Concerns? Big hugs? Let me know what you’re thinking on Twitter .
A simple guide to self-host n8n in just a few minutes on fly.io.
A simple guide to self-host a NocodDB Airtable alternative in just a few minutes, for free.
Let the nice robots at GitHub handle sending Venmo requests to your friends.
Ways to programmatically generate pages from data for Hugo. Automate your page creation.
Plugins to make Obsidian as comfortable as other note apps, aimed at those who want tools that don’t need tinkering.