FeedFetcher is a small utility that aggregates RSS/Atom/JSON feeds in a PostgreSQL database and dispatches them to Mattermost channels.
Installation
To build FeedFetcher, you will need a Go 1.17 compiler or newer. Clone or unpack the source and run go build -o feed-fetcher .
. The resulting executable is self-contained and can be deployed anywhere you like.
Usage
Create a PostgreSQL database for FeedFetcher and pass the -db=postgres://...
option to every invocation. Create a Mattermost Incoming Webhook for FeedFetcher and pass the -mattermost=http://...
option to any invocation that dispatches messages.
Run feed-fetcher -category=<NAME> -channel=<ID> -refresh=<INTERVAL> sub ...
to subscribe to feeds.
Use feed-fetcher -expire=<INTERVAL> get
command to update the database with new feeds whose refresh intervals have been exceeded. Then run feed-fetcher dispatch
to send unseen items to Mattermost and mark them as seen.
Run feed-fetcher -expire=<INTERVAL> clean
to remove seen items older than <INTERVAL>
from the database.