Where Does Self-Hosted RSSHub Store Config?
RSSHub configures through environment (.env or compose env) and caches in Redis. No app files persist; env plus redis is the backup.
Last updated
RSSHub keeps no local state file. Every knob (access keys, tokens, mail configs, cache, puppeteer endpoints) arrives as an environment variable from .env or the compose file. The only persistence is Redis: a redis-data volume holding feed caches when you run the recommended compose with a redis service.
That makes backup two items: the env file with secrets, and the Redis volume with cache. Lose the env and every integration key must be re-entered; lose Redis and caches rebuild warm over hours. Updates are pull and recreate, which is safe exactly because nothing else persists. Chromium-bundled tags add headless browsing for JS-heavy routes at much larger image sizes.
Where RSSHub stores this, by platform
.env (RSSHub root or compose dir)
Keys, tokens, mail, cache, and route options as env vars. Keep this file (or the compose env block) under version control minus secrets. Port 1200 default; access key gating belongs here.
Frequently asked questions
how do i back up self-hosted rsshub
Save your .env file (or compose env block) and the redis-data volume with the stack down. Routes and logic come from the image; only keys, tokens, and cache persist. Restore both halves together.
can rsshub run without any volumes
Yes. The image needs no volumes for basic use: config arrives as env, cache defaults to memory. Add the redis-data volume and .env file for production persistence across recreates and updates.
Notice an outdated path? Let us know.