FeedFetcher is a small utility that aggregates RSS/Atom/JSON feeds in a PostgreSQL database and dispatches them to Mattermost channels.
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.
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.
feed-fetcher -category=<NAME> -channel=<ID> -refresh=<INTERVAL> sub ... to subscribe to feeds.
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.
feed-fetcher -expire=<INTERVAL> clean to remove seen items older than
<INTERVAL> from the database.