FreshRSS on fly
The problem.
I'm broke, and I like using FreshRSS.
The solution.
We'll be using fly.io they have a generous free allowance.
Setting up
First, you have to sign up for fly account.
Get their cli, and login with flyctl auth login.
Deploying FreshRSS
Create a directory where you'll store the fly.toml file, cd into this directory, we'll do our magic.
Now, we need to create an app on fly.io, using the following command:
flyctl app create --save
After this, you'll get an auto-generated fly.toml file.
Modify it to look like this (don't change the app name):
app = 'your-app-name' # TODO: update me
primary_region = 'fra'
kill_signal = 'SIGINT'
[build]
# Please check what the latest version is at: https://github.com/FreshRSS/FreshRSS
# and set it here
image = 'docker.io/freshrss/freshrss:1.27.1'
[env]
CRON_MIN = '*/20' # update feeds every 20 minutes
# you don't want your account and feeds to be deleted after a restart
[[mounts]]
source = 'freshrss_data'
destination = '/var/www/FreshRSS/data'
# you probably want this app to be accessible
[[services]]
protocol = 'tcp'
internal_port = 80
processes = ['app']
[[services.ports]]
port = 80
handlers = ['http']
force_https = true
[[services.ports]]
port = 443
handlers = ['tls', 'http']
[[vm]]
size = 'shared-cpu-1x'
Deploy to fly.io by running:
flyctl launch
Now open your-app-name.fly.dev
in your browser, and follow the setup wizard.
Chose sqlite as your database, it will be automatically stored in /var/www/FreshRSS/data.
Setting up custom domain (optional)
fly certs create rss.your-domain.com
The output of this command will guide you through the records you need to add to your domain.