rssnotes is a nostr relay that functions as an rss to nostr bridge by creating nostr profiles and notes from RSS feeds. rssnotes is a read only relay. rssnotes is a fork of rsslay.
- Convert RSS feeds into Nostr profiles.
- Creates a npubkey and QR code for each RSS feed profile that you can use to follow the RSS feed on nostr.
- The rssnotes relay also has its own npubkey. The rssnotes relay automatically follows all of the rss feed profiles. So if you login to nostr using the rssnotes relay you will see all of your RSS feeds.
- Import and export RSS feeds using an opml file.
- Option to automatically delete old notes.
- Make a feed public and blast its notes.
- Selection of relay metrics dislayed on main page. (Displayed metrics other than CURRENT FEEDS are per session and will reset if relay is restarted.)
- Prometheus metrics available on /metrics path.
- Search bar
- Relay logs exposed on the /log path.
- Using khatru
Prerequisites:
- Create a new
rssnotesfolder and cd into it.
mkdir rssnotes
cd rssnotes- Create four files:
docker-compose.yml,.env,seedrelays.jsonandlogfile.log.
touch docker-compose.yml
touch .env
touch seedrelays.json
touch logfile.logCopy and paste the contents from the sample.docker-compose.yml file into your
docker-compose.ymlfile. Save and exit the file.Copy and paste the contents of the sample.env file into your
.envfile.Modify the contents of your
.envfile. Add values for the following REQUIRED environment variables.
- RELAY_PRIVKEY --- Use a nostr key generator to create a new set of nostr private and public keys for the relay. DO NOT USE your own existing nostr keys. The relay will use these keys to follow all of your rss feeds and for other background tasks.
- RELAY_PUBKEY --- acquired from the new private key created above.
- RELAY_URL --- the URL of your relay ex.: myrssrelay.com. This is only used for display on the relay's main page instructions. It does not affect your relays actual URL.
The remaining variables in the
.envfile are optional. Save and exit the.envfile.Copy and paste the contents from the sample.seedrelays.json file into your
seedrelays.jsonfile. Save and exit the file.Run
docker-compose up -dwhile in therssnotesdirectory. This will start the rssnotes container in the background. Go to http://your-host-ip-address:3334/home in your browser. Add the rssnotes relay to your client at ws://your-host-ip-address:3334.
- Clone the repo and cd into the repo folder.
git clone https://github.com/trinidz/rssnotes
cd rssnotesDownload the correct rssnotes released binary for your system into the rssnotes folder.
Rename downloaded the binary:
# The binary format is simillar to rssnotes-rx.x.x-ostype-arch. Change the downloaded binary name to rssnotes.
mv rssnotes-rx.x.x-ostype-arch rssnotes
# Make sure the binary is executable
chmod +x rssnotes- Copy and rename the other necessary files:
cp sample.env .env
cp sample.seedrelays.json seedrelays.json- Open the
.envfile and add values for the following REQUIRED environment variables.
- RELAY_PRIVKEY --- Use a nostr key generator to create a new set of nostr private and public keys for the relay. DO NOT USE your own existing nostr keys. The relay will use these keys to follow all of your rss feeds and for other background tasks.
- RELAY_PUBKEY --- acquired from the new private key created above.
- RELAY_URL --- the URL of your relay ex.: myrssrelay.com. This is only used for display on the relay's main page. It does not affect your relays actual URL.
The remaining variables in the
.envfile are optional.Create a systemd service file:
sudo nano /etc/systemd/system/rssnotes.service- Add the following contents:
[Unit]Description=RSSNotes Relay Service
After=network.target
[Service]User=myuser
Group=myuser
ExecStart=/home/myuser/rssnotes/rssnotes
WorkingDirectory=/home/myuser/rssnotes
Restart=always
MemoryLimit=2G
[Install]WantedBy=multi-user.targetReplace /home/myuser/ with the actual paths where the files are stored.
Reload systemd to recognize the new service:
sudo systemctl daemon-reload- Start the service:
sudo systemctl start rssnotes- Enable the service to start on boot:
sudo systemctl enable rssnotes- Go to http://your-host-ip-address:3334/home in your browser. Add the rssnotes relay to your client at ws://your-host-ip-address:3334.
- Make sure to export all your feeds before upgrading. If anyting goes wrong you can create a new rssnotes relay and import all your existing feeds.
