---
title: "Deploy TrendRadar Zero Config News Monitor"
description: "Scheduled hot news and RSS monitor with keyword alerts and private reports"
category: "Automation"
url: https://railway.com/deploy/trendradar-zero-config-news-monitor
---

# Deploy TrendRadar Zero Config News Monitor

Scheduled hot news and RSS monitor with keyword alerts and private reports

**[Deploy TrendRadar Zero Config News Monitor on Railway](https://railway.com/template/trendradar-zero-config-news-monitor)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/trendradar-zero-config-news-monitor/manifest.json

- **Creator:** Protemplate
- **Category:** Automation
- **Total deploys:** 2

## Template content

### TrendRadar https://avatars.githubusercontent.com/u/77180927?v=4

- **Image:** wantcat/trendradar:6.10.0
- **Start command:** `sh -c 'echo IyEvYmluL3NoCiMgVHJlbmRSYWRhciBzZXJ2aWNlIHN0YXJ0IHNjcmlwdCAoaW1hZ2Ugd2FudGNhdC90cmVuZHJhZGFyOjYuMTAuMCwgcnVucyBhcyByb290KS4KIyBzZXJpYWxpemVkLWNvbmZpZy5qc29uIGVtYmVkcyB0aGlzIGZpbGUgdmVyYmF0aW0gYXMgYmFzZTY0OgojICAgc2ggLWMgJ2VjaG8gPGJhc2U2ND4gfCBiYXNlNjQgLWQgPiAvdG1wL3N0YXJ0LnNoICYmIGV4ZWMgc2ggL3RtcC9zdGFydC5zaCcKIyBSZWdlbmVyYXRlIHRoZSBzdGFydENvbW1hbmQgd2hlbmV2ZXIgdGhpcyBmaWxlIGNoYW5nZXMuCnNldCAtZQo6ICIke1BPUlQ6P1BPUlQgaXMgcmVxdWlyZWR9Igpta2RpciAtcCAvZGF0YS9jb25maWcvYWlfZmlsdGVyIC9kYXRhL2NvbmZpZy9jdXN0b20vYWkgL2RhdGEvY29uZmlnL2N1c3RvbS9rZXl3b3JkIC9kYXRhL291dHB1dAoKIyAxLiBUaGUgaW1hZ2Ugc2hpcHMgbm8gY29uZmlnLCBhbmQgaXRzIGVudHJ5cG9pbnQgZXhpdHMgMSB3aXRob3V0IGNvbmZpZy55YW1sICsgZnJlcXVlbmN5X3dvcmRzLnR4dC4KIyAgICBTZWVkIHRoZSBFbmdsaXNoIGRlZmF1bHRzIG9uY2UsIHBpbm5lZCB0byBhbiB1cHN0cmVhbSBjb21taXQgd2hvc2UgY29uZmlnIHNjaGVtYSAoMi40LjApCiMgICAgbWF0Y2hlcyBpbWFnZSA2LjEwLjAuIEV4aXN0aW5nIGZpbGVzIGFyZSBuZXZlciBvdmVyd3JpdHRlbiwgc28gZWRpdHMgb24gdGhlIHZvbHVtZSBzdXJ2aXZlLgpweXRob24gLSA8PCdQWScKaW1wb3J0IHBhdGhsaWIsIHRpbWUsIHVybGxpYi5yZXF1ZXN0ClJFRiA9ICI3OTJiY2MzOTI4YjE2MTdiYmEwOWRmMzQ5ODlmZDU2NzVjMTU5Yjg2IgpCQVNFID0gImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9zYW5zYW4wL1RyZW5kUmFkYXIvIiArIFJFRiArICIvY29uZmlnLyIKRklMRVMgPSB7CiAgICAiY29uZmlnLnlhbWwiOiAiY29uZmlnLmVuLnlhbWwiLAogICAgImZyZXF1ZW5jeV93b3Jkcy50eHQiOiAiZnJlcXVlbmN5X3dvcmRzLmVuLnR4dCIsCiAgICAidGltZWxpbmUueWFtbCI6ICJ0aW1lbGluZS5lbi55YW1sIiwKICAgICJhaV9pbnRlcmVzdHMudHh0IjogImFpX2ludGVyZXN0cy50eHQiLAogICAgImFpX2FuYWx5c2lzX3Byb21wdC50eHQiOiAiYWlfYW5hbHlzaXNfcHJvbXB0LnR4dCIsCiAgICAiYWlfdHJhbnNsYXRpb25fcHJvbXB0LnR4dCI6ICJhaV90cmFuc2xhdGlvbl9wcm9tcHQudHh0IiwKICAgICJhaV9maWx0ZXIvcHJvbXB0LnR4dCI6ICJhaV9maWx0ZXIvcHJvbXB0LnR4dCIsCiAgICAiYWlfZmlsdGVyL2V4dHJhY3RfcHJvbXB0LnR4dCI6ICJhaV9maWx0ZXIvZXh0cmFjdF9wcm9tcHQudHh0IiwKICAgICJhaV9maWx0ZXIvdXBkYXRlX3RhZ3NfcHJvbXB0LnR4dCI6ICJhaV9maWx0ZXIvdXBkYXRlX3RhZ3NfcHJvbXB0LnR4dCIsCn0Kcm9vdCA9IHBhdGhsaWIuUGF0aCgiL2RhdGEvY29uZmlnIikKZm9yIGRzdCwgc3JjIGluIEZJTEVTLml0ZW1zKCk6CiAgICB0YXJnZXQgPSByb290IC8gZHN0CiAgICBpZiB0YXJnZXQuZXhpc3RzKCk6CiAgICAgICAgY29udGludWUKICAgIGZvciBhdHRlbXB0IGluIHJhbmdlKDEsIDYpOgogICAgICAgIHRyeToKICAgICAgICAgICAgd2l0aCB1cmxsaWIucmVxdWVzdC51cmxvcGVuKEJBU0UgKyBzcmMsIHRpbWVvdXQ9MzApIGFzIHJlc3A6CiAgICAgICAgICAgICAgICBkYXRhID0gcmVzcC5yZWFkKCkKICAgICAgICAgICAgYnJlYWsKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGV4YzoKICAgICAgICAgICAgcHJpbnQoZiJbcmFpbHdheV0gc2VlZGluZyB7ZHN0fTogYXR0ZW1wdCB7YXR0ZW1wdH0gZmFpbGVkOiB7ZXhjfSIsIGZsdXNoPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMykKICAgIGVsc2U6CiAgICAgICAgcmFpc2UgU3lzdGVtRXhpdChmIltyYWlsd2F5XSBjb3VsZCBub3QgZG93bmxvYWQge0JBU0V9e3NyY30iKQogICAgdG1wID0gdGFyZ2V0LndpdGhfbmFtZSh0YXJnZXQubmFtZSArICIudG1wIikKICAgIHRtcC53cml0ZV9ieXRlcyhkYXRhKQogICAgdG1wLnJlcGxhY2UodGFyZ2V0KQogICAgcHJpbnQoZiJbcmFpbHdheV0gc2VlZGVkIC9kYXRhL2NvbmZpZy97ZHN0fSBmcm9tIFRyZW5kUmFkYXJAe1JFRls6N119IGNvbmZpZy97c3JjfSIsIGZsdXNoPVRydWUpClBZCgojIDIuIE9wdGlvbmFsIG92ZXJyaWRlcyBmcm9tIFJhaWx3YXkgdmFyaWFibGVzLCBhcHBsaWVkIG9uIGV2ZXJ5IGJvb3QuCmlmIFsgLW4gIiR7RlJFUVVFTkNZX1dPUkRTOi19IiBdOyB0aGVuCiAgcHJpbnRmICclc1xuJyAiJEZSRVFVRU5DWV9XT1JEUyIgPiAvZGF0YS9jb25maWcvZnJlcXVlbmN5X3dvcmRzLnR4dAogIGVjaG8gIltyYWlsd2F5XSBmcmVxdWVuY3lfd29yZHMudHh0IHdyaXR0ZW4gZnJvbSBGUkVRVUVOQ1lfV09SRFMiCmZpCmlmIFsgLW4gIiR7Q09ORklHX1lBTUw6LX0iIF07IHRoZW4KICBwcmludGYgJyVzXG4nICIkQ09ORklHX1lBTUwiID4gL2RhdGEvY29uZmlnL2NvbmZpZy55YW1sCiAgZWNobyAiW3JhaWx3YXldIGNvbmZpZy55YW1sIHdyaXR0ZW4gZnJvbSBDT05GSUdfWUFNTCIKZmkKCiMgMy4gVGhlIGFwcCByZWFkcyAuL2NvbmZpZyBhbmQgd3JpdGVzIC4vb3V0cHV0IHJlbGF0aXZlIHRvIC9hcHA6IHBvaW50IGJvdGggYXQgdGhlIHZvbHVtZS4Kcm0gLXJmIC9hcHAvY29uZmlnIC9hcHAvb3V0cHV0CmxuIC1zIC9kYXRhL2NvbmZpZyAvYXBwL2NvbmZpZwpsbiAtcyAvZGF0YS9vdXRwdXQgL2FwcC9vdXRwdXQKCiMgNC4gUmVwb3J0IHNlcnZlciBvbiAkUE9SVC4gYHB5dGhvbiAtbSBodHRwLnNlcnZlciAtLWJpbmQgOjpgIGlzIGR1YWwgc3RhY2sgKElQVjZfVjZPTkxZPTApLCBzbwojICAgIFJhaWx3YXkncyBJUHY0IGhlYWx0aGNoZWNrIGFuZCB0aGUgZ2F0ZXdheSdzIElQdjYgcHJpdmF0ZSBuZXR3b3JrIGNhbGwgYm90aCBjb25uZWN0LgojICAgIFVwc3RyZWFtJ3Mgb3duIHZpZXdlciAobWFuYWdlLnB5IHN0YXJ0X3dlYnNlcnZlcikgYmluZHMgMC4wLjAuMCBvbmx5LCBzbyBpdCBydW5zIHVudXNlZCBvbiBXRUJTRVJWRVJfUE9SVC4KKCB3aGlsZSA6OyBkbwogICAgcHl0aG9uIC1tIGh0dHAuc2VydmVyICIkUE9SVCIgLS1iaW5kIDo6IC0tZGlyZWN0b3J5IC9kYXRhL291dHB1dCA+L2Rldi9udWxsIDI+JjEgfHwgdHJ1ZQogICAgZWNobyAiW3JhaWx3YXldIHJlcG9ydCBzZXJ2ZXIgZXhpdGVkLCByZXN0YXJ0aW5nIGluIDJzIiA+JjIKICAgIHNsZWVwIDIKICBkb25lICkgJgplY2hvICJbcmFpbHdheV0gcmVwb3J0IHNlcnZlciBsaXN0ZW5pbmcgb24gWzo6XTokUE9SVCwgc2VydmluZyAvZGF0YS9vdXRwdXQiCgojIDUuIFVwc3RyZWFtIGVudHJ5cG9pbnQ6IFJVTl9NT0RFPWNyb24gcnVucyBvbmUgY3Jhd2wgbm93IChJTU1FRElBVEVfUlVOPXRydWUpLAojICAgIHRoZW4gZXhlY3Mgc3VwZXJjcm9uaWMsIHdoaWNoIHJ1bnMgYHB5dGhvbiAtbSB0cmVuZHJhZGFyYCBvbiBDUk9OX1NDSEVEVUxFIGZvcmV2ZXIuCmNkIC9hcHAKZXhlYyAvZW50cnlwb2ludC5zaAo= | base64 -d > /tmp/start.sh && exec sh /tmp/start.sh'`
- **Health check:** /

### TrendRadar Gateway https://avatars.githubusercontent.com/u/12955528?v=4

- **Image:** caddy:2.11-alpine
- **Start command:** `sh -c 'echo IyEvYmluL3NoCiMgVHJlbmRSYWRhciBHYXRld2F5IHN0YXJ0IHNjcmlwdCAoaW1hZ2UgY2FkZHk6Mi4xMS1hbHBpbmUpLgojIHNlcmlhbGl6ZWQtY29uZmlnLmpzb24gZW1iZWRzIHRoaXMgZmlsZSB2ZXJiYXRpbSBhcyBiYXNlNjQ6CiMgICBzaCAtYyAnZWNobyA8YmFzZTY0PiB8IGJhc2U2NCAtZCA+IC90bXAvc3RhcnQuc2ggJiYgZXhlYyBzaCAvdG1wL3N0YXJ0LnNoJwojIFJlZ2VuZXJhdGUgdGhlIHN0YXJ0Q29tbWFuZCB3aGVuZXZlciB0aGlzIGZpbGUgY2hhbmdlcy4Kc2V0IC1lCjogIiR7UE9SVDo/UE9SVCBpcyByZXF1aXJlZH0iCjogIiR7UkVQT1JUX1VTRVJOQU1FOj9SRVBPUlRfVVNFUk5BTUUgaXMgcmVxdWlyZWR9Igo6ICIke1JFUE9SVF9QQVNTV09SRDo/UkVQT1JUX1BBU1NXT1JEIGlzIHJlcXVpcmVkfSIKOiAiJHtVUFNUUkVBTTo/VVBTVFJFQU0gaXMgcmVxdWlyZWR9IgpIQVNIPSIkKGNhZGR5IGhhc2gtcGFzc3dvcmQgLS1wbGFpbnRleHQgIiRSRVBPUlRfUEFTU1dPUkQiKSIKcHJpbnRmICclc1xuJyBcCiAgJ3snIFwKICAnICBhdXRvX2h0dHBzIG9mZicgXAogICcgIGFkbWluIG9mZicgXAogICcgIHNlcnZlcnMgeycgXAogICcgICAgcHJvdG9jb2xzIGgxIGgyYycgXAogICcgIH0nIFwKICAnfScgXAogICI6JFBPUlQgeyIgXAogICcgIGhhbmRsZSAvZ2F0ZXdheS1oZWFsdGggeycgXAogICcgICAgcmVzcG9uZCAib2siIDIwMCcgXAogICcgIH0nIFwKICAnICBoYW5kbGUgeycgXAogICcgICAgYmFzaWNfYXV0aCB7JyBcCiAgIiAgICAgICRSRVBPUlRfVVNFUk5BTUUgJEhBU0giIFwKICAnICAgIH0nIFwKICAnICAgIGVuY29kZSBnemlwJyBcCiAgIiAgICByZXZlcnNlX3Byb3h5ICRVUFNUUkVBTSIgXAogICcgIH0nIFwKICAnfScgPiAvZXRjL2NhZGR5L0NhZGR5ZmlsZQpleGVjIGNhZGR5IHJ1biAtLWNvbmZpZyAvZXRjL2NhZGR5L0NhZGR5ZmlsZSAtLWFkYXB0ZXIgY2FkZHlmaWxlCg== | base64 -d > /tmp/start.sh && exec sh /tmp/start.sh'`
- **Health check:** /gateway-health
- **Public domain:** Yes

## Documentation

# Deploy and Host TrendRadar on Railway

TrendRadar is an open source trend and news monitor. On a schedule it collects trending lists and RSS feeds, keeps the items that match your keyword groups (or lets an LLM pick them), writes an HTML report and a SQLite history, and pushes the matches to Telegram, Slack, Discord, ntfy, Bark, email, Feishu, DingTalk or WeCom. Optional AI analysis turns each run into a short briefing.

## About Hosting TrendRadar

This template runs the official `wantcat/trendradar:6.10.0` image the way the upstream Docker setup intends: one long running container whose built in scheduler (supercronic) runs a crawl every 30 minutes, plus one right at boot. Everything it needs to start is handled for you. The image ships without its config files, so on first boot the template copies the upstream English defaults, pinned to the matching release, onto a `/data` volume, where your SQLite history and reports also live. The report viewer has no login of its own, so the TrendRadar service stays private and a small Caddy gateway with a generated password is the only public entry point. No API keys are needed: a fresh deploy produces its first report about a minute after it goes live.

## Common Use Cases

- **Keyword alerts**: follow companies, products, people or topics across trending lists and RSS, and get pushed only what matches
- **Daily or timed briefings**: schedule pushes for the morning and evening, with an optional AI summary of what moved
- **Trend history**: keep a per day SQLite record of rankings and a dated archive of HTML reports on your own volume
- **Team feeds**: send the same filtered stream to a Slack channel, a Discord webhook or a Telegram group

## Dependencies for TrendRadar Hosting

- **Nothing required**: no database service, no keys. A notification channel and an LLM key are optional
- **Public data sources**: trending lists come from the public newsnow API by default (you can point `PLATFORMS_API_URL` at your own instance); RSS feeds are configurable

### Deployment Dependencies

- [TrendRadar GitHub repository](https://github.com/sansan0/TrendRadar)
- [Docker deployment guide](https://github.com/sansan0/TrendRadar/blob/master/README-EN.md#6-docker-deployment)
- [Visual config editor](https://sansan0.github.io/TrendRadar/)
- [newsnow data source](https://github.com/ourongxing/newsnow)

### Implementation Details

Two services. `TrendRadar` (private) serves its output folder on port 8080 over Railway's private network and is health checked at `/`; `TrendRadar Gateway` (public, Caddy) asks for a username and password and forwards to it. Key variables:

```env
# TrendRadar
CRON_SCHEDULE=*/30 * * * *
IMMEDIATE_RUN=true
TZ=UTC
AI_ANALYSIS_ENABLED=false
FREQUENCY_WORDS=
TELEGRAM_BOT_TOKEN=   TELEGRAM_CHAT_ID=
SLACK_WEBHOOK_URL=
AI_API_KEY=           AI_MODEL=

# TrendRadar Gateway
REPORT_USERNAME=admin
REPORT_PASSWORD=${{secret(24)}}
UPSTREAM=${{TrendRadar.RAILWAY_PRIVATE_DOMAIN}}:${{TrendRadar.PORT}}
```

First steps after deploy:

1. Wait for both services to go green, then give the first crawl about a minute.
2. Open the gateway's public URL and sign in with `admin` and the `REPORT_PASSWORD` from the gateway's Variables tab. You land on the latest report; dated snapshots are under `/html/`.
3. Add your keywords: paste the contents of a `frequency_words.txt` into the `FREQUENCY_WORDS` variable of the TrendRadar service (start from the upstream English example or the visual editor).
4. Add a notification channel, for example `TELEGRAM_BOT_TOKEN` and `TELEGRAM_CHAT_ID`, or `SLACK_WEBHOOK_URL`. The next run pushes the matches.
5. Optional: add `AI_API_KEY` and `AI_MODEL`, then set `AI_ANALYSIS_ENABLED=true` for an AI briefing in each report and push.

Good to know: the report's interface labels are in Chinese (upstream design), the default trending lists are Chinese platforms while the default RSS feeds are English, and email delivery needs a Railway Pro plan because outbound SMTP is disabled on lower plans. The optional TrendRadar MCP server is not part of this template.

## Why Deploy TrendRadar on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying TrendRadar on Railway, you get a scheduled monitor that runs on its own, keeps its history on a persistent volume, and gives you a password protected report page, without managing a server, cron, or config files.


## Similar templates

- [N8N Main + Worker](https://railway.com/deploy/n8n-main-worker) — Deploy and Host N8N with Inactive worker.
- [Evolution API with n8n](https://railway.com/deploy/evolution-api-with-n8n) — Automate WhatsApp workflows with Evolution API, n8n, and Postgres.
- [Postgres Backup](https://railway.com/deploy/postgres-s3-backups) — Cron-based PostgreSQL backup to bucket storage

Open this page in a browser: https://railway.com/deploy/trendradar-zero-config-news-monitor
