Deploy FreshRSS | (Just Updated) RSS Reader with API, Agent-Ready, Passwords Generated

Easy for LLM agents: RSS reader with API, passwords generated, persistent

Deploy FreshRSS | (Just Updated) RSS Reader with API, Agent-Ready, Passwords Generated

Just deployed

/var/www/FreshRSS/data

Deploy and Host FreshRSS on Railway

FreshRSS is a self-hosted RSS and Atom feed aggregator with a web reader plus the Google Reader and Fever APIs. This template is easy for an LLM agent to use: it deploys with no manual step, the admin and API passwords are generated for you, the contract below is machine-readable, and one working curl sequence takes an agent from zero to a subscribed feed.

About Hosting FreshRSS

This template runs the official freshrss/freshrss image (Apache + PHP, SQLite storage), pinned by digest. On first boot it installs FreshRSS, enables the API, and creates the admin user from variables Railway generates at deploy time. Every later boot detects the existing install and changes nothing, except that it re-applies the two passwords from the variables, so rotating a variable and redeploying is enough to change a credential.

All state lives on one volume mounted at /var/www/FreshRSS/data (users, feeds, articles, SQLite databases, configuration, and third-party extensions, which are linked to data/extensions). Apache is bound to Railway's $PORT. A background job refreshes every feed twice an hour (minutes 7 and 37), so subscriptions stay current without anyone opening the page.

Agent contract:

  • Base URL variable: FRESHRSS_URL (https://)
  • Web login: user admin, password variable FRESHRSS_ADMIN_PASSWORD
  • API user: admin, API password variable FRESHRSS_API_PASSWORD (separate from the web password, enabled at boot)
  • Google Reader API: $FRESHRSS_URL/api/greader.php (ClientLogin, then Authorization: GoogleLogin auth=)
  • Fever API: $FRESHRSS_URL/api/fever.php (api_key = md5 of admin: followed by the API password)
  • Health path: /i/ (open, returns 200)
  • Secrets are generated per deploy and stable across redeploys; a wrong API password returns 401

One working sequence (login, subscribe to a feed, list subscriptions, count unread):

AUTH=$(curl -s --data-urlencode "Email=admin" --data-urlencode "Passwd=$FRESHRSS_API_PASSWORD" \
  "$FRESHRSS_URL/api/greader.php/accounts/ClientLogin" | sed -n 's/^Auth=//p')
TOK=$(curl -s -H "Authorization: GoogleLogin auth=$AUTH" "$FRESHRSS_URL/api/greader.php/reader/api/0/token")
curl -s -H "Authorization: GoogleLogin auth=$AUTH" -d "quickadd=https://hnrss.org/frontpage&T=$TOK" \
  "$FRESHRSS_URL/api/greader.php/reader/api/0/subscription/quickadd"
curl -s -H "Authorization: GoogleLogin auth=$AUTH" \
  "$FRESHRSS_URL/api/greader.php/reader/api/0/subscription/list?output=json"
curl -s -H "Authorization: GoogleLogin auth=$AUTH" \
  "$FRESHRSS_URL/api/greader.php/reader/api/0/unread-count?output=json"

A fresh install starts with no subscriptions. The first boot logs actualize-user.php failed! once because there are zero feeds to refresh; that line is an upstream quirk, not an error.

Why Deploy FreshRSS on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying FreshRSS on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

  • Easy for an LLM agent to use — deploy with no manual step, generated credentials, a machine-readable contract block and one working call.
  • Zero configuration — no variables to fill in; the admin user is created for you.
  • Data survives redeploys — the volume is preconfigured and verified with a write, redeploy, read.
  • Feeds stay fresh — a scheduled job refreshes every subscription without a browser open.
  • Standard clients work — any Google Reader or Fever compatible app (Reeder, NetNewsWire, FeedMe, Fluent Reader) connects with the same API password.

Common Use Cases

  • Agent news and research feeds — let an agent subscribe to sources and pull unread items over the API.
  • Personal reader — a private, ad-free replacement for a hosted feed reader, synced to your phone apps.
  • Monitoring and alerts — follow release feeds, status pages and changelogs in one place.

Dependencies for FreshRSS Hosting

  • A volume mounted at /var/www/FreshRSS/data (included in this template).

Deployment Dependencies


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
50
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51