All apps · 0 apps
Crawl4AIProxy
Docker app from zkkzkk32312's Repository
Overview
Readme
View on GitHubCrawl4AI Proxy
A lightweight proxy that bridges external web loader APIs to Crawl4AI, enabling high-quality page content fetching for AI chat sessions.
Compatible With
- Open WebUI — external web loader
- PI Coding Agent — web search/crawl tooling
- Any client that speaks the external web loader protocol
Why?
Default web loaders struggle with JavaScript-heavy pages and bot detection. This proxy uses Crawl4AI's headless browser to fetch clean markdown content from any URL, dramatically improving the quality of web-search-enhanced AI responses.
Architecture
Client (Open WebUI / PI / ...) → Crawl4AI Proxy (content fetch) → Crawl4AI (markdown extraction)
- Client sends URLs to this proxy as the external web loader
- The proxy calls Crawl4AI
/mdendpoint withf=fitto extract clean content (strips navigation, ads, sign-in prompts). If the filtered result is too short (<100 chars), it retries withf=rawas a fallback - Content is returned to the client and injected into the AI model's context
Prerequisites
- Crawl4AI running (Docker or standalone) — unclecode/crawl4ai
- Open WebUI — open-webui/open-webui (optional)
- PI Coding Agent (optional)
Quick Deploy (Docker)
docker run -d --name crawl4ai-proxy -p 8087:8087 -e CRAWL4AI_URL=http://<your-crawl4ai-ip>:11235/md zkkzkk32312/crawl4ai-proxy
Environment Variables
| Variable | Default | Description |
|---|---|---|
CRAWL4AI_URL |
http://192.168.1.10:11235/md |
Crawl4AI /md endpoint URL |
PROXY_API_KEY |
(empty) | Optional API key for Open WebUI/PI authentication |
CRAWL4AI_API_TOKEN |
(empty) | Optional Bearer token for Crawl4AI authentication (set if your Crawl4AI container has CRAWL4AI_API_TOKEN configured) |
Unraid Deployment
Via Community Apps (recommended)
- Go to Apps tab in Unraid
- Search for Crawl4AI Proxy
- Click Install
- Configure the settings:
- Proxy Port — host port (default
8087) - Crawl4AI URL — your Crawl4AI
/mdendpoint - Proxy API Key — optional, leave empty to disable
- Proxy Port — host port (default
- Click Apply
Manual
- Copy
templates/crawl4ai-proxy.xmlto/boot/config/plugins/dockerMan/templates-user/ - Go to Docker → Add Container in Unraid
- Select my-crawl4ai-proxy template
- Configure the settings and click Apply
Open WebUI Configuration
- Go to Admin Panel → Web Loader
- Set Web Loader Engine to
external - Set External Web Loader URL to:
http://<proxy-ip>:8087/search - If you set
PROXY_API_KEY, enter it in External Web Loader API Key
Note: Make sure Bypass Web Loader is OFF in Admin Panel.
API
POST /search
Fetches page content for a batch of URLs in parallel (all URLs are fetched simultaneously via asyncio.gather).
Request:
{
"urls": ["https://example.com", "https://github.com/..."]
}
Headers:
Authorization: Bearer <api_key> (if PROXY_API_KEY is set)
Response:
[
{
"page_content": "# Page Title\n\nExtracted markdown content...",
"metadata": { "source": "https://example.com" }
}
]
GET /health
Health check endpoint.
{ "status": "ok" }
License
MIT
Categories
Download Statistics
Related apps
Explore more like this
Explore allLinks
Details
zkkzkk32312/crawl4ai-proxyRuntime arguments
- Web UI
http://[IP]:[PORT:8087]/- Network
bridge- Shell
sh- Privileged
- false
Template configuration
Host port for the proxy
- Target
- 8087
- Default
- 8087
- Value
- 8087
Crawl4AI /md endpoint URL
- Target
- CRAWL4AI_URL
- Default
- http://192.168.1.10:11235/md
- Value
- http://192.168.1.10:11235/md
API key for Open WebUI/PI (leave empty to disable)
- Target
- PROXY_API_KEY
Bearer token for Crawl4AI auth (leave empty if CRAWL4AI_API_TOKEN not set on Crawl4AI container)
- Target
- CRAWL4AI_API_TOKEN