A monorepo for the rssCloud notification protocol.
apps/server— rssCloud Server: an Express implementation of the rssCloud notification protocol. Handles subscriptions, ping, and notifications for RSS feed updates.apps/debug— a private, interactive debug harness for the rssCloud protocol's Client (subscriber/publisher) side: a Subscribe/Ping UI with a request log that hosts a notify endpoint and drives a server. Not published.packages/core—@rsscloud/core: shared primitives for subscriptions, notifications, and feed processing.packages/express—@rsscloud/express: Express middleware for the rssCloud front doors —pleaseNotify,ping, and theRPC2endpoint, built on@rsscloud/core.packages/xml-rpc—@rsscloud/xml-rpc: a generic XML-RPC codec — parse and buildmethodCall/methodResponsedocuments.
The server and the debug harness are published to the GitHub Container Registry
as ghcr.io/rsscloud/server and
ghcr.io/rsscloud/debug, built for
linux/amd64 and linux/arm64. Running a hub needs neither a checkout nor a
Node toolchain:
docker run -d -p 5337:5337 \
-e DOMAIN=cloud.example.com \
-v rsscloud-data:/app/apps/server/data \
ghcr.io/rsscloud/server:latestSee apps/server for the settings worth
overriding, and examples/dockge/compose.yaml
for a full Compose stack. Images are published by hand with
scripts/docker-build-push.sh — :latest follows the most
recent push, so pin a version tag for real deployments.
This repo is a pnpm workspace using Turborepo for task orchestration. Node.js 24+ is required.
git clone https://github.com/rsscloud/rsscloud.git
cd rsscloud
corepack enable
pnpm install
pnpm build # build all packages — required before pnpm start
pnpm start # start the server in dev modepnpm build has to run before pnpm start. apps/server consumes the workspace
packages through their compiled dist/ output, and pnpm install links them
without compiling them. Build again after any change to packages/.
Other tasks:
pnpm lint # lint all packages
pnpm typecheck # typecheck all packages
pnpm test:unit # run unit tests across all packages
pnpm test # run docker-based end-to-end tests (requires Docker to be running)See each package's README for package-specific usage and API documentation.