1 FreshRSS
Matt Cupp edited this page 2026-05-29 17:35:45 -04:00

FreshRSS

Self-hosted RSS reader. Aggregates feeds on a schedule and provides a clean web UI for reading.

Where it runs

  • Host: Nexus (192.168.1.226)
  • UI: http://192.168.1.226:8080
  • Managed by: Komodo (Stack freshrss)
  • Compose file: freshrss/docker-compose.yml in homelab-docker repo

Docker

Docker on Nexus is installed via snap. Always use docker compose (with a space).

Compose Details

Image: freshrss/freshrss:1.29.0

Setting Value
Port 8080 → container 80
Data volume /mnt/server/containers/freshrss/data/var/www/FreshRSS/data
Extensions volume /mnt/server/containers/freshrss/extensions/var/www/FreshRSS/extensions
Timezone America/New_York
Feed refresh cron Minutes 2 and 32 of every hour (via CRON_MIN=2,32)
Runtime mode production

Renovate

Renovate tracks the freshrss/freshrss image tag. When a new version is published, Renovate opens a PR in Forgejo. Merging the PR triggers Komodo to redeploy the stack automatically.

FreshRSS publishes proper semver tags, so Renovate will detect updates reliably and open standard update PRs (no manual version checks needed).

Feed Refresh Schedule

Feeds refresh automatically at :02 and :32 of every hour (controlled by the CRON_MIN environment variable inside the container). No external cron setup is required — the container runs its own cron daemon.

Troubleshooting

# Container logs
ssh matt@192.168.1.226 'docker logs freshrss --tail 50'

# Manual redeploy
ssh matt@192.168.1.226 'cd /home/matt/repos/homelab-docker/freshrss && docker compose up -d'

# Check what image tag is actually running
ssh matt@192.168.1.226 'docker ps --format "table {{.Image}}\t{{.Names}}" | grep freshrss'

Backup

FreshRSS state (feeds, articles, user config) lives in:

  • /mnt/server/containers/freshrss/data — database, user settings, feed list
  • /mnt/server/containers/freshrss/extensions — installed extensions

Both paths are covered by Proxmox Backup Server automated backups of Nexus container data at /mnt/server/containers/.

FreshRSS has no .env file — all configuration is baked into the compose file or set via the web UI and stored in the data volume.

Before upgrading, take a manual snapshot:

ssh matt@192.168.1.226 \
  'tar czf /mnt/server/containers/backups/freshrss-pre-upgrade-$(date +%Y%m%d).tar.gz \
   /mnt/server/containers/freshrss'