Table of Contents
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.ymlin 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'
Automation
Infrastructure
Services
- Dashy
- Bookstack
- Tandoor
- Home Assistant
- Pinchflat
- FreshRSS
- Frigate
- Wyze-Bridge
- Mosquitto
- Dispatcharr
- Proxmox LXC Services
Operations
- How to Update Apps
- Backup & Restore Strategy
- Maintenance Schedule
- Useful Commands
- Restore Proxmox Containers
- NAS NFS Share for LXC
- SSH Public Key onto Nexus