Skip to content

ENV variables

| Name | Description | | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | | HTML2RSS_SECRET_KEY | required in production; development/test gets a temporary default | | HTML2RSS_ACCESS_TOKEN | token for the main feed-creation flow; paste the same value into the web UI when prompted | | HEALTH_CHECK_TOKEN | optional bearer token for authenticated GET /api/v1/health; not part of the first-run quickstart; use /api/v1/health/ready for standard readiness checks | | BUILD_TAG | release metadata used in logs; published Docker images set this to the release version | | GIT_SHA | deployed commit metadata used in logs; published Docker images set this to the released commit | | SENTRY_DSN | optional; enables Sentry errors/logs when set | | BROWSERLESS_IO_WEBSOCKET_URL | optional; Browserless websocket endpoint for harder sites when you add Browserless later | | BROWSERLESS_IO_API_TOKEN | optional unless you explicitly add Browserless to your stack or point at a custom Browserless endpoint | | AUTO_SOURCE_ENABLED | true by default in development/test, false otherwise | | ASYNC_FEED_REFRESH_ENABLED | optional boolean; default false | | ASYNC_FEED_REFRESH_STALE_FACTOR | optional integer >= 1; default 3 | | PORT | app listen port; compose uses 4000 | | RACK_ENV | Rack environment; quickstart uses development, production examples use production | | RACK_TIMEOUT_SERVICE_TIMEOUT | optional; total web-request timeout in seconds; default 30 | | HTML2RSS_TOTAL_TIMEOUT_SECONDS | optional; internal gem request timeout in seconds; default 25 |

When fetching feeds from complex websites, multiple components work together. To prevent premature request termination, ensure your timeouts are configured in a "chain" where the outer layers wait longer than the inner layers.

For an overall 30-second budget:

  1. Botasaurus Scraper (SCRAPE_TIMEOUT_SECONDS): Set to 20s. This is the time allowed for the browser to fetch and render the page.
  2. html2rss Gem (HTML2RSS_TOTAL_TIMEOUT_SECONDS): Set to 25s. This allows the gem enough time to wait for Botasaurus and process the results.
  3. html2rss-web (RACK_TIMEOUT_SERVICE_TIMEOUT): Set to 30s. This is the total time the web server will wait before killing the request.

Older environment-variable examples from previous docs revisions are obsolete. Use only the supported table above and the Environment & Runtime Flags table in docs/README.md.