MonitoRSS RSS 机器人 (以前称为 Discord.RSS),具有可自定义的内容源。 https://monitorss.xyz
MonitoRSS RSS 机器人 (以前称为 Discord.RSS),具有可自定义的内容源。 https://monitorss.xyz
Delivers highly-customized news feeds to Discord!
To use the publicly hosted instance for free, visit https://monitorss.xyz!
Docker is required to easily coordinate and run multiple services at once.
[!NOTE] General knowledge of how Docker, Docker volumes, and docker compose works is highly recommended to avoid accidental data loss
[!NOTE] Request history and delivery logs stored in PostgreSQL are not meant to be persistent forever. They may be removed when PostgreSQL versions are upgraded.
main (the default) branch - git clone https://github.com/synzen/MonitoRSS.git.env.example file and rename it to .env.env file with your own valuesBACKEND_API_MONGODB_URI to your MongoDB URIFEED_REQUESTS_FEED_REQUEST_DEFAULT_USER_AGENT for feed hosts to be able to contact you if you violate their usage policies. For example, MonitoRSS [Self-Hosted]/1.0 [email protected].BACKEND_API_SESSION_SECRET to a random 64-character stringBACKEND_API_SESSION_SALT to a random 16-character stringhttp://localhost:8000/api/v1/discord/callback-v2 to the list of redirect URIs in your Discord application in the OAuth2 pagedocker compose up -d. Make sure all containers, except those with "migration" in it, are running via docker ps.docker compose --parallel 1 up -d-migration do not need to be runningdocker logs --tail 100http://localhost:8000 in your .env to your desired domain. For example, https://mynewdomain.com.{DOMAIN_HERE}/api/v1/discord/callback-v2 to the list of redirect URIs in your Discord application in the OAuth2 page, replacing {DOMAIN_HERE} with the value you set in step 1While email notifications are available so that you may get notified when feeds are disabled for various reasons (permission erorrs, request errors, etc), credentials must be set to be able to send them out. Set the three variables below with your email provider's SMTP settings in your env file:
BACKEND_API_SMTP_HOSTBACKEND_API_SMTP_USERNAMEBACKEND_API_SMTP_PASSWORDPlus exactly one of the following (config validation fails on boot if SMTP is configured without one of these):
BACKEND_API_SMTP_FROM_DOMAIN: your sending domain only (e.g. mydomain.com). MonitoRSS will send from distinct per-purpose addresses on this domain such as [email protected] (feed/connection alerts) and [email protected] (email verification). Recommended.BACKEND_API_SMTP_FROM: a full RFC 5322 sender (e.g. "MyService" ). Used verbatim for every outbound email. Use this only if your SMTP provider restricts you to a single fixed sender address. Takes precedence over BACKEND_API_SMTP_FROM_DOMAIN.Make sure to opt into email notifications in the control panel's user settings page afterwards.
{DOMAIN_HERE}/api/v1/reddit/callback to the list of redirect URIs in your Reddit application settings, replacing {DOMAIN_HERE} with your domain that you're using to access the control panel.BACKEND_API_REDDIT_REDIRECT_URI in your .env file.BACKEND_API_REDDIT_CLIENT_ID in your .env file.BACKEND_API_REDDIT_CLIENT_SECRET in your .env file.BACKEND_API_ENCRYPTION_KEY_HEX in your .env file. One option is to use an online generator such as this one.Releases follow semantic versioning and are published on the Releases page. To update:
docker compose rm --stop -f.env file by updating MONITORSS_VERSION (e.g., MONITORSS_VERSION=7 for version 7)docker compose pulldocker compose up -dBreaking changes to either the application and Docker compose files may happen between major versions. Check the Releases page for instructons on upgrading major versions.
If you've been using MonitoRSS v6 (used by the repo https://github.com/synzen/MonitoRSS-Clone), then these are instructions to migrate off of that repo to use the latest changes.
It's recommended that you don't delete your v6 files until you've confirmed that all your feeds are working as expected post-migration.
.env file, set BACKEND_API_MONGODB_URI to your MongoDB URIdocker compose --parallel 1 up -d --builddocker compose --parallel 1 up -dLegacy feeds must be converted to personal feeds before they will deliver articles. After starting up all containers, run the migration script:
# Enter the monolith container
docker compose exec monolith sh
# Dry run first to preview (replace YOUR_DISCORD_USER_ID)
node dist/scripts/migrate-all-legacy-feeds.js --user YOUR_DISCORD_USER_ID --guild "*" --dry-run
# Run the actual migration
node dist/scripts/migrate-all-legacy-feeds.js --user YOUR_DISCORD_USER_ID --guild "*"
| Option | Required | Description |
|---|---|---|
--user |
Yes | Discord user ID to own all converted feeds |
--guild |
Yes | Comma-separated guild IDs, or * for all guilds |
--dry-run |
No | Preview without database changes |
暂无开放 Issues,或尚未同步最近议题。