Skip to content

Getting Started

Run html2rss-web locally with Docker, create one feed from a page URL, then move to production setup when you want stable hosting.

  • Docker
  • About two minutes for first success
Terminal window
mkdir html2rss-web && \
cd html2rss-web

Use the quickstart stack from docker-compose.quickstart.yml. Save it as docker-compose.yml:

services:
html2rss-web:
image: html2rss/web:1
ports:
- "4000:4000"
environment:
RACK_ENV: development
AUTO_SOURCE_ENABLED: "true"
HTML2RSS_ACCESS_TOKEN: CHANGE_ME_ADMIN_TOKEN
BOTASAURUS_SCRAPER_URL: http://botasaurus:4010
botasaurus:
image: html2rss/botasaurus-scrape-api:latest

That stack runs:

  • html2rss-web on port 4000
  • companion botasaurus for JavaScript-rendered pages
  • AUTO_SOURCE_ENABLED=true so URL-to-RSS works without YAML
  • demo access token CHANGE_ME_ADMIN_TOKEN
Terminal window
docker compose up -d
  1. Open http://localhost:4000 (or http://<LAN_IP>:4000/ on your network).
  2. Paste a listing URL — newsroom, changelog, releases, category, or archive page (not a bare homepage).
  3. When prompted, enter CHANGE_ME_ADMIN_TOKEN.
  4. Open the generated feed URL (.rss or .json).
  1. Deployment — production compose, real tokens, LAN HTTP vs HTTPS proxy.
  2. Feed Directory — subscribe when a curated feed already covers the site.
  3. Advanced Feeds — custom YAML only when auto-source needs tighter selectors.

Without the web UI, one-shot auto-source from the gem:

Terminal window
html2rss scrape https://example.com/blog

html2rss auto is a Thor alias for scrape. Strategy details: Strategy reference.