Should I self-host Feedly?
One container, your feeds, no $84/yr for the privilege of reading RSS — the format that was designed to be self-hosted.
Feedly's AI triage and team boards
Their server discovering feed URLs for you — FreshRSS makes you paste the URL like it's 2008 (it's fine)
follow feeds in one reader · sync read-state across devices · search & filters · mobile access
* Percent of the subscription price. Your time is priced at the slider's rate — $0/h ("my homelab time is free and I love it") is a legitimate position. Every number is derived from the record, never hand-written. Price source, checked 2026-08-05.
Runs comfortably on a Raspberry Pi.


Nothing — image ships with SQLite default and a web installer
# FreshRSS — self-hosted RSS reader (replaces Feedly)
services:
freshrss:
image: freshrss/freshrss:latest
container_name: freshrss
restart: unless-stopped
environment:
CRON_MIN: "13,43" # feed refresh twice an hour
ports:
- "8083:80"
volumes:
- freshrss-data:/var/www/FreshRSS/data
- freshrss-ext:/var/www/FreshRSS/extensions
healthcheck:
# The image ships neither curl nor wget; PHP is right there.
test: ["CMD-SHELL", "php -r \"exit(@file_get_contents('http://localhost/i/')===false?1:0);\""]
interval: 5s
timeout: 5s
retries: 24
start_period: 20s
volumes:
freshrss-data:
freshrss-ext:
Want a guided install instead? caniselfhostit.com/feedly has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.
FULL TIMED LOG
# Timed setup log: Feedly → freshrss **Protocol:** v1 · **Verified by:** zernonia · **Date:** 2026-08-10 **Assistant:** claude-code · **Environment:** containerized runner, 2 vCPU class, Docker 29.3 / Compose v5.1 ## Timeline | Step | Time | |---|---| | Read upstream docs, draft compose with healthcheck | ~10 min | | **Boot: all services healthy in 7 s (measured, `compose up --wait`)** | — | | Endpoint-level workflow check (login/health/API serve) + re-run from clean volumes | ~10 min | | **Total: ~30 min** | | Boot and endpoint checks are machine-verified; `setup_min` is the wall-clock total for this session including authoring, diagnosis and re-runs. Endpoint-level ≠ full human UI workflow — dispute anything that doesn't reproduce (CONTRIBUTING.md). ## What broke - Nothing — image ships with SQLite default and a web installer ## Verdict-relevant notes - Sync to mobile works via the Google-Reader-compatible API (FreshRSS setting + any client).