Advanced Customization
For advanced users, FeedCraft provides an admin dashboard to customize the RSS processing workflow.
Accessing the Dashboard
Section titled “Accessing the Dashboard”- Deploy FeedCraft using Docker (see Quick Start).
- Open your browser and visit
http://YOUR_SERVER_IP:10088. - Log in with default credentials:
- Username:
admin - Password:
adminadmin(Please change the password immediately after logging in)
- Username:
Search Provider Configuration
Section titled “Search Provider Configuration”To use the Search to RSS feature, you must configure a search provider.
Navigate to Settings > Search Provider in the admin dashboard.
Supported Providers
Section titled “Supported Providers”-
LiteLLM / OpenAI Compatible
- API URL: The search endpoint of your provider (e.g.,
http://litellm-proxy:4000/v1/search). - API Key: Your API key. (Leave empty to keep existing key)
- Tool Name: The specific function calling tool name if required (e.g.,
google_searchfor some agents). The tool name is appended to the API URL (e.g..../v1/search/google_search).
- API URL: The search endpoint of your provider (e.g.,
-
SearXNG
- API URL: The base URL of your SearXNG instance (e.g.,
http://my-searxng.com). The/searchpath is automatically appended. - Engines: (Optional) Comma-separated list of engines to use (e.g.,
google,bing).
- API URL: The base URL of your SearXNG instance (e.g.,
Dependency Services
Section titled “Dependency Services”The Dependency Services dashboard (Settings > Dependency Services) provides a health check overview of all connected external services.
It monitors the status of:
- SQLite: Database connectivity.
- Redis: Cache service connectivity and latency.
- Browser Provider: Headless browser provider availability (required for browser-based fulltext extraction).
- LLM Service: Connectivity to the configured AI provider.
- Search Provider: Connectivity to the configured search engine.
Use this dashboard to troubleshoot connectivity issues if features like “Enhanced Mode” or “Fulltext Extraction” are failing.
You can use the Check Connection button to verify if FeedCraft can successfully connect to the search provider with the provided credentials.
Advanced Configuration
Section titled “Advanced Configuration”Docker Environment Variables
Section titled “Docker Environment Variables”You can configure FeedCraft using environment variables in docker-compose.yml.
- FC_BROWSER_PROVIDER: Browser rendering provider. Supported values:
browserless-restful(Browserless REST/content) andcdp(Chrome DevTools Protocol, such as CloakBrowsercloakserve). - FC_BROWSER_ENDPOINT: Endpoint of the selected browser provider. Required for
fulltext-plusand HTML-to-RSS Enhanced Mode. - FC_PUPPETEER_HTTP_ENDPOINT: Legacy Browserless endpoint alias. Still supported when
FC_BROWSER_ENDPOINTis empty. - FC_BROWSER_TIMEOUT: (Optional) Timeout for a single browser render. Accepts Go duration (
60s) or milliseconds (60000). Default:60s. Keep this at or below the browserlessCONNECTION_TIMEOUT. - FC_BROWSER_MAX_CONCURRENCY: (Optional) Global max concurrent browser render jobs (default:
2). Preventsfulltext-plusfrom opening too many Chrome sessions at once. - FC_REDIS_URI: Redis connection address. Used for caching to speed up processing and reduce AI token consumption.
- FC_HTTP_USER_AGENT_FEED: (Optional) Default
User-Agentfor feed-style outbound requests, such as fetching RSS/XML resources. Search provider requests are temporarily grouped into this same rule. - FC_HTTP_USER_AGENT_HTML: (Optional) Default
User-Agentfor HTML page fetches, such as fulltext extraction and the HTML-to-RSS tooling. Note: If the value contains spaces or parentheses, it must be enclosed in quotes. - FC_LLM_API_KEY: API Key for OpenAI or compatible services (like DeepSeek, Gemini, etc.).
- FC_LLM_API_MODEL: Default model to use (e.g.,
gemini-pro,gpt-3.5-turbo). Multiple Models Support: You can provide a comma-separated list of models (e.g.,gpt-3.5-turbo,gpt-4). FeedCraft will randomly select a model for each request and automatically retry with others if a call fails. - FC_LLM_API_BASE: API endpoint address. For OpenAI-compatible APIs, usually ends with
/v1. - FC_LLM_API_TYPE: (Optional)
openai(default) orollama. - FC_LLM_MAX_CONCURRENCY: (Optional) Maximum number of LLM API requests executing across the entire FeedCraft process (default:
3). All feeds, Recipes, AtomCrafts, and other LLM features share this global limit. Article tasks may enter the queue concurrently, but no more than this number of upstream requests execute at once; cache hits do not consume capacity. - FC_DOMAIN_MAX_CONCURRENCY: (Optional) Maximum concurrent requests per target domain during web scraping like fulltext extraction (default:
3). Prevents overwhelming target servers. - FC_PREHEATING_MAX_CONCURRENCY: (Optional) Maximum concurrent background preheating tasks (default:
2). - FC_PREHEATING_QUEUE_SIZE: (Optional) Maximum pending preheating tasks; defaults to the preheating concurrency.
- FC_PREHEATING_TASK_TIMEOUT: (Optional) Timeout for each preheating task as a Go duration such as
5m(default:10m). - LOG_LEVEL: (Optional) Log level for the backend application (e.g.,
info,debug,trace). Overrides the default level set byENV.
External Services
Section titled “External Services”To leverage the full power of FeedCraft, it is recommended to deploy with Redis and a browser provider.
version: "3"services: app.feed-craft: # ... (Refer to Quick Start) environment: FC_BROWSER_PROVIDER: browserless-restful FC_BROWSER_ENDPOINT: http://service.browserless:3000 FC_REDIS_URI: redis://service.redis:6379/ # ...
service.redis: image: redis:6-alpine container_name: feedcraft_redis restart: always
service.browserless: image: browserless/chrome container_name: feedcraft_browserless environment: USE_CHROME_STABLE: true restart: unless-stoppedTo use CloakBrowser instead of Browserless, point FeedCraft to the official cloakserve container:
services: app.feed-craft: environment: FC_BROWSER_PROVIDER: cdp FC_BROWSER_ENDPOINT: http://service.cloakbrowser:9222?fingerprint=feedcraft
service.cloakbrowser: image: cloakhq/cloakbrowser command: cloakserve --port=9222 restart: unless-stoppedThe service listens on port 80 by default. You can also access it from other containers in the same network using http://app.feed-craft/xxx (e.g., for internal communication with an RSS reader).
FeedCraft v3.2.0