Native Docker approach for automated feed updates in FreshRSS with Ofelia - eviltoast

I’ve started using FreshRSS for my RSS backend. Reeder on iOS, of course. I was rather surprised the tool doesn’t do automated feed refreshes out of the box. Further, the documentation didn’t offer any container-native approach to automatically updating my feeds.

I’d recently discovered ofelia and thought this might be a good use case for it. I added the following to the services block in my FreshRSS docker-compose.yml file:

ofelia:
  image: mcuadros/ofelia:latest
  depends_on:
    - freshrss
  command: daemon --docker
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock:ro

Then I added the following labels to my freshrss container definition:

- "ofelia.enabled=true"
- "ofelia.job-exec.datecron.schedule=@every 30m"
- "ofelia.job-exec.datecron.command=/usr/bin/php /var/www/FreshRSS/app/actualize_script.php"

A couple of notes:

  • ofelia lets you run commands inside the other container with job-exec; there are a few other options for job types.
  • Output from the command you pass as a label will show up in ofelia’s logs.

I suspect I will find many more use cases for ofelia now that I’ve discovered it.