atomstr is a RSS/Atom gateway to Nostr.
It fetches all sorts of RSS or Atom feeds, generates Nostr profiles for each and posts new entries to given Nostr relay(s). If you have one of these relays in your profile, you can find and subscribe to the feeds.
Although self hosting is preferable (it always is), there's a test instance at https://atomstr.data.haus - please don't hammer this too much as it is running next to my desk.
The prefered way to run this is via Docker. Just use the included docker-compose.yaml and modify it to your needs. It contains ready to run Traefik labels. You can remove this part, if you are using ngnix or HAproxy.
If you want to compile it yourself just run "make".
All configuration is done via environment variables. If you don't want this, modify defines.go.
The following variables are available:
FETCH_INTERVALrefresh interval for feeds, default "15m"
METADATA_INTERVALrefresh interval for feed name, icon, etc, default "2h"
HISTORY_INTERVALhistory interval for feed initial sync, default "72h"
NIP05_DOMAINwebserver domain, default "atomstr.data.haus"
MAX_WORKERSmax work in paralel. Default "5"
RELAYS_TO_PUBLISH_TOto which relays this server posts to, add more comma separated. Default "wss://nostr.data.haus"
DEFAULT_FEED_IMAGEif no feed image is found, use this. Default "https://void.cat/d/NDrSDe4QMx9jh6bD9LJwcK"
Add a feed:
docker exec -it atomstr ./atomstr -a https://my.feed.org/rss
List all feeds:
docker exec -it atomstr ./atomstr -l
Delete a feed:
docker exec -it atomstr ./atomstr -d https://my.feed.org/rss