Skip to content

gurdiga/rss-email-subscription

Repository files navigation

rss-email-subscription

This is an RSS-to-email system that periodically checks one or more RSS feed and sends new items to a list of emails. Every feed has a list of emails associated.

Every feed gets its own feed-id@feedsubscription.com email address. The default frequency is hourly now, but any cron-like schedule is supported.

There is also an API which can be inspected in src/api/server.ts.

Everything is packaged and deployed as a Docker composition: in docker-compose.yml.

Storage structure

The app stores data in the DATA_DIR_ROOT directory:

/settings.json
/accounts/<account_id>/account.json
/accounts/<account-id>/feeds/<feed-id>/feed.json
/accounts/<account-id>/feeds/<feed-id>/emails.json
/accounts/<account-id>/feeds/<feed-id>/inbox/<delivery-id>.json
/accounts/<account-id>/feeds/<feed-id>/outbox/<delivery-id>/<msghexx>.json
/accounts/<account-id>/feeds/<feed-id>/deliveries/<delivery-id>/item.json
/accounts/<account-id>/feeds/<feed-id>/deliveries/<delivery-id>/timestamp.json
/accounts/<account-id>/feeds/<feed-id>/deliveries/<delivery-id>/postfixed/<msghexx>.json
/accounts/<account-id>/feeds/<feed-id>/deliveries/<delivery-id>/deferred/<msghexx>.json
/accounts/<account-id>/feeds/<feed-id>/deliveries/<delivery-id>/sent/<msghexx>.json
/accounts/<account-id>/feeds/<feed-id>/deliveries/<delivery-id>/bounced/<msghexx>.json
/accounts/<account-id>/feeds/<feed-id>/deliveries/<delivery-id>/<synthetic-status>/<msghexx>.json

About

Uncomplicated content distribution for Bloggers

Resources

Stars

Watchers

Forks