Docker自托管fastCRW完整指南:在VPS上跑一个免费的私有抓取API
【免费下载链接】crwFast, lightweight Firecrawl/Tavily alternative in Rust. Web scraper, crawler search API with MCP server for AI agents. Drop-in Firecrawl-compatible API (/scrape, /crawl, /search). 2.3x faster than Tavily, 1.5x faster than Firecrawl in 1K-URL benchmarks. 6 MB RAM, single binary. Self-host or use managed cloud.项目地址https://gitcode.com/gh_mirrors/cr/crw点击查看免费下载fastCRWcrw是一个用 Rust 编写的轻量级 Web 抓取 API 引擎提供与 Firecrawl 兼容的/v1/scrape、/v1/crawl、/v1/map接口并内置/v1/search搜索端点和 MCP Server是 Tavily、Firecrawl 的自托管替代方案。它的核心二进制空闲时只占用十几 MB 内存意味着在一台 512 MB 的廉价 VPS 上用一条 Docker 命令就能跑起一个免费的私有抓取 API——无需 Redis、PostgreSQL 或 RabbitMQ没有按次计费的账单抓多少都不花钱。本文将带你完成从安装 Docker、启动容器、验证接口到配置认证与加固的完整流程。为什么选择 Docker 自托管 fastCRW先说结论如果你需要私有、可控、零按次费用的抓取 APIDocker 自托管 fastCRW 是目前门槛最低的方案。它与传统抓取栈的差异在于资源占用方案依赖组件空闲内存最低 VPSFirecrawl 全家桶Node.js Redis PostgreSQL RabbitMQ~500 MB4 GBCrawl4AI PlaywrightPython 浏览器~200 MB2 GBfastCRWDocker单个 Rust 二进制~14 MB512 MB官方 1,000-URL 基准测试显示fastCRW 在内容恢复率truth-recall和延迟上均优于同场对比的 Crawl4AI 与 Firecrawl对自托管用户来说还有三个实际好处Firecrawl 兼容现有 Firecrawl 代码只需改一下 base URL 就能指向你的私有实例搜索开箱即用Docker Compose 栈自带 SearXNG 元搜索引擎/v1/search直接可用JS 渲染自带轻量级无头浏览器 LightPanda 作为 sidecar 一起启动SPA 页面自动降级渲染。一键启动1分钟部署单个 Docker 容器如果你的目标只是快速获得一个抓取 API静态页面为主这是最快的路径。前置要求一台任意发行版的 Linux VPSUbuntu 22.04/24.04 均可已安装 Docker Enginecurl -fsSL https://get.docker.com | sh即可拉取并运行镜像docker pull ghcr.io/fastcrw/crw:0.16.0 docker run -d --name crw -p 3000:3000 --restart unless-stopped ghcr.io/fastcrw/crw:0.16.0 生产环境建议使用固定 tag如0.16.0而不是latest避免每次发版自动滚动导致行为变化。镜像基于debian:bookworm-slim体积很小构建细节见 Dockerfile。验证服务状态curl http://localhost:3000/health # {status:ok}看到ok就说明你的私有抓取 API 已经上线了。完整方案用 Docker Compose 部署「抓取 搜索 JS 渲染」全栈单容器适合起步而仓库内置的 Compose 编排才是生产形态一次up就得到三个协作的服务。全栈服务一览克隆仓库获取编排文件仓库地址https://gitcode.com/gh_mirrors/cr/crwgit clone https://gitcode.com/gh_mirrors/cr/crw cd crw docker compose up -d启动的服务及端口分工如下完整定义见 docker-compose.yml服务端口是否发布到宿主机作用crw3000是0.0.0.0:3000API 服务器加载config.docker.tomlsearxng8080否仅内部网络元搜索引擎支撑/v1/searchlightpanda9222否仅内部网络轻量无头浏览器JS 渲染主力chrome9222否完整 Chromium复杂 SPA 兜底需--profile heavy几个值得注意的设计搜索端口不对外searxng:8080只在 Compose 内部网络可达搜索流量统一走/v1/search攻击面更小crw 会自动等待 searxng 健康检查通过再处理首个搜索请求所以compose up后前 15–30 秒的搜索请求可能报timeout属于冷启动正常现象渲染器与搜索后端的接线已经写死在 config.docker.toml 里ws://lightpanda:9222、http://searxng:8080你不需要手工拼环境变量。可选启用 Chrome 重渲染档位LightPanda 足以应付大多数 JS 站点但遇到重型 SPA 或 Cloudflare 质询时可以加挂完整 Chromiumdocker compose --profile heavy up -d该档位使用 Apache-2 许可的chromedp/headless-shell镜像约 500 MB按需选择。从源码构建的注意事项Compose 默认是build: .本地交叉编译。构建 Rust 工程峰值内存较高请确保Docker 可用内存 ≥ 4 GB受限时可串行链接降低峰值CARGO_BUILD_JOBS1 docker compose build crw docker compose up -d构建是一次性成本运行镜像本身很小。如果你的 VPS 配置低直接docker pull官方镜像并在 Compose 中把build: .换成image:更稳妥。首次请求验证/v1/scrape、/v1/search 与 /health部署完成后按官方推荐的顺序做三件事先scrape一个真实目标再验证一个search请求最后跑一个有页数上限的小crawl。# 1. 抓取单页为 Markdown curl -X POST http://localhost:3000/v1/scrape \ -H Content-Type: application/json \ -d {url:https://example.com,formats:[markdown]} # 2. 搜索由内置 searxng sidecar 提供 curl -X POST http://localhost:3000/v1/search \ -H Content-Type: application/json \ -d {query:rust web scraping,limit:5} # 3. 有界爬取限 10 页防止跑飞 curl -X POST http://localhost:3000/v1/crawl \ -H Content-Type: application/json \ -d {url:https://docs.example.com,limit:10}这三个端点与 Firecrawl 的请求/响应结构保持一致你的旧代码改个 base URL 即可切换。生产前必做API 密钥认证与密钥轮换自托管默认不启用认证——服务器启动时会明确告警若[auth] api_keys为空任何能访问该端口的人都可以使用你的 API见 crates/crw-server/src/main.rs。暴露在公网前请务必配置 Bearer 令牌。方式一环境变量注入推荐不改镜像在项目根目录创建.env文件Compose 会自动读取echo CRW_AUTH__API_KEYS$(openssl rand -hex 32) .env再为两个自带占位默认值的密钥生成真实值echo SEARXNG_SECRET_KEY$(openssl rand -hex 32) .env echo BROWSERLESS_TOKEN$(openssl rand -hex 24) .env docker compose up -d --force-recreate searxng⚠️SEARXNG_SECRET_KEY与BROWSERLESS_TOKEN的仓库默认值是公开占位符任何知道默认值的人都可能伪造会话或打开浏览器会话公网部署前必须轮换。方式二挂载自定义配置文件Compose 将 config.docker.toml 只读挂载到容器内你可以复制一份并填入密钥[auth] api_keys [你的真实密钥]之后带密钥调用curl -X POST http://localhost:3000/v1/scrape \ -H Authorization: Bearer 你的真实密钥 \ -H Content-Type: application/json \ -d {url:https://example.com}容器安全加固已内置无需额外操作官方 Compose 文件已对每个服务做了纵深防御可以直接放心使用read_only: true根文件系统只读恶意解析产物重启即消失cap_drop: ALLno-new-privileges:true引擎不依赖任何 Linux capabilitiesmem_limit: 2g/pids_limit: 512防止失控 worker 拖垮宿主机PDF 解析默认开启sandbox true每次解析跑在带内存上限的隔离子进程中。更多加固细节SSRF 防护、/metrics访问控制、CORS 白名单见官方文档 docs/docs/self-hosting-hardening.md。常用调优参数速查fastCRW 的所有配置项都支持CRW_模块__字段环境变量覆盖优先级高于配置文件。VPS 上最常用的几个环境变量作用示例值CRW_AUTH__API_KEYSBearer 认证密钥[sk-prod-xxx]CRW_SERVER__PORT服务监听端口8080CRW_SEARCH__SEARXNG_URL指向外部搜索后端http://your-host:8080CRW_CRAWLER__REQUESTS_PER_SECOND全局爬取限速5.0CRW_CRAWLER__USER_AGENT自定义 UAMyBot/1.0CRW_RENDERER__LIGHTPANDA__WS_URL外部 LightPanda 地址ws://lp:9222CRW_BIND_ADDRESS/CRW_HOST_PORT宿主机绑定地址/端口Compose 插值127.0.0.1/3055两个实用场景3000 端口被占用在.env中设置CRW_HOST_PORT3055无需改 Compose 文件前面挂了反向代理Caddy/Nginx 做 TLS 终结设置CRW_BIND_ADDRESS127.0.0.1让 API 只监听回环地址公网流量全部走代理。注意config.docker.toml中全局限速默认是rate_limit_rps 0不限制但每站点限速依然生效——这是出于礼貌爬取的设计无需担心。资源占用与 VPS 选型建议官方在 50 并发请求下实测crw服务本身约 66 MB。加上 sidecar不同档位的内存需求如下部署档位包含服务建议内存适合场景最小crw 单容器512 MB静态页面为主、轻量搜索标准crw searxng lightpanda1–2 GB大多数生产 VPS 场景重度标准 chromeheavy4 GB大量重型 SPA / 反爬站点成本上一台 $5/月约 1–2 GB的 VPS 即可覆盖标准档位。由于没有按次计费月抓取量达到 1 万、10 万页时费用始终是固定的 VPS 租金——这正是自托管 fastCRW 相对云 API 的核心经济优势。常见问题FAQQ1启动后/v1/search报 timeout 怎么办冷启动正常现象。crw 会等待 searxng 通过健康检查首次compose up后 15–30 秒内搜索可能不可用确认服务端日志中打印的搜索后端地址即可。Q2能连接 AI AgentClaude Code、Cursor 等吗可以。镜像内自带crw-mcp二进制把 MCP 客户端指向你的http://vps-ip:3000并带上 API KeyAgent 即获得一个包月制的私有抓取工具无按次费用。Q3JS 渲染会不会把 LightPanda 跑崩Compose 中lightpanda服务配置了restart: unless-stopped崩溃后自动拉起。复杂 SPA 会按 HTTP → LightPanda → Chrome 的失败链逐级升级不会导致请求整体失败。Q4AGPL 许可对自托管有影响吗个人/内部使用、不向第三方开放 API 时没有额外义务若你把修改版 fastCRW 作为网络服务提供给第三方需按 AGPL-3.0 §13 提供对应源码。许可细节见 docs/docs/self-hosting-hardening.md。Q5如何升级版本重新docker compose pull拉取新镜像后docker compose up -d即可建议每次升级前检查 docs/docs/changelog.md。总结用 Docker 自托管 fastCRW 的全部动作可以压缩成三步docker run -p 3000:3000 ghcr.io/fastcrw/crw:0.16.0—— 一分钟拿到私有抓取 APIdocker compose up -d—— 升级出「抓取 搜索 JS 渲染」全栈配置.env中的 API Key 与密钥轮换 —— 安全上线。配合 512 MB–2 GB 的低配 VPS你得到的是一套 Firecrawl 兼容、无按次账单、可接入 MCP 的完整 Web 抓取基础设施。更多端点细节可参考官方文档 docs/docs/docker.md 与 docs/docs/self-hosting.md。赞分享【免费下载链接】crwFast, lightweight Firecrawl/Tavily alternative in Rust. Web scraper, crawler search API with MCP server for AI agents. Drop-in Firecrawl-compatible API (/scrape, /crawl, /search). 2.3x faster than Tavily, 1.5x faster than Firecrawl in 1K-URL benchmarks. 6 MB RAM, single binary. Self-host or use managed cloud.项目地址https://gitcode.com/gh_mirrors/cr/crw点击查看免费下载相关推荐如何5分钟上手fastCRW一条命令安装Web爬虫并跑通第一个抓取如何5分钟上手fastCRW一条命令安装Web爬虫并跑通第一个抓取 fastCRWcrw是一款用 Rust 编写的轻量级 Web 爬虫与抓取 API 工具Firecrawl MCP Server 自托管配置搭建私有网页抓取服务的完整教程想要完全掌控自己的网页抓取服务吗Firecrawl MCP Server 自托管方案让你拥有私有化的网页抓取能力摆脱云服务限制享受更高的数据隐私和定制化服AI 应用MCP 服务网页爬虫后端Monkeytype 自托管完整指南基于 Docker Compose 与 Traefik 的私有部署Monkeytype 自托管完整指南基于 Docker Compose 与 Traefik 的私有部署 Monkeytype 是目前可定制程度极高的打字练习前端后端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

信息组织集成法:从元数据到知识关联的系统化实践

信息组织集成法:从元数据到知识关联的系统化实践

信息组织这件事,说难听点,是信息管理工作里最不性感的那个环节。大家愿意聊算法、聊大模型、聊可视化,但一旦要干活——把一堆格式各异、语义重叠、归属不明的文档和记录整理成一套能查、能复用、能支撑业务决策的体系,立刻就会卡…

2026/10/16 21:04:28 阅读更多 →
LPC2138入门:从寄存器到PLL,吃透ARM7内核开发全流程

LPC2138入门:从寄存器到PLL,吃透ARM7内核开发全流程

简介:面向LPC2138/ARM7初学者的一套入门级Keil工程资料,围绕NXP LPC2138的启动流程、内存映射与基础外设编程展开,适合刚接触ARM7或准备课程设计的学生快速建立整体认识。压缩包共32个文件、约62KB,除C源码与头文件外,…

2026/10/16 21:04:28 阅读更多 →
商品详情页转化率优化实战:从用户心理到信息架构的完整指南

商品详情页转化率优化实战:从用户心理到信息架构的完整指南

"标题写的是商品详情,点进去却不知道卖什么"——这是我优化过上百个商品页之后,最常听到的抱怨。商品详情页往往被当作"图片堆砌区",但实际上它是整个交易链条里转化率最高、也最容易被浪费掉的一环。这篇内容&#xff0…

2026/10/16 21:03:27 阅读更多 →

最新新闻

OpenClaw voice-call 语音通话插件演进全解:从首发功能矩阵到 TTS 核心迁移

OpenClaw voice-call 语音通话插件演进全解:从首发功能矩阵到 TTS 核心迁移

人工智能大模型LLM 网关AI Agent即时通讯 【免费下载链接】openclaw-zero-token OpenClaw: Use All Major AI Models NO API Token! Claude/ChatGPT/Gemini/DeepSeek/Doubao/Grok/Qwen/Manus/Kimi 项目地址: https://gitcode.com/gh_mirrors/op/openclaw-zero-token…

2026/10/17 2:02:30 阅读更多 →
SQL注入实战:用sqlmap从POST参数到数据库拖取完整链路

SQL注入实战:用sqlmap从POST参数到数据库拖取完整链路

1. 项目概述与目标拆解1.1 这个靶机到底在模拟什么LampSecurity:CTF8 是 vulnhub 上一台以“SQL 注入利用”为核心的靶机,它的难度定在中低档,但极其贴近真实渗透测试中“拿到一个 Web 应用后,如何快速从普通注入点升级为数据库管理员”的完整…

2026/10/17 2:02:30 阅读更多 →
AI Agent 技术栈梳理:Skill / 蒸馏 / MCP / Harness 与 TaoToken 统一 Key 通道

AI Agent 技术栈梳理:Skill / 蒸馏 / MCP / Harness 与 TaoToken 统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 2:02:30 阅读更多 →
英辰朗迪AI获客每日AI精选:用TaoToken统一Key打通Agent算力与GEO内容流水线

英辰朗迪AI获客每日AI精选:用TaoToken统一Key打通Agent算力与GEO内容流水线

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 2:02:30 阅读更多 →
道路结冰数据集实战:1527张标注图训练YOLO目标检测模型

道路结冰数据集实战:1527张标注图训练YOLO目标检测模型

简介:道路结冰数据集面向计算机视觉与深度学习方向的算法开发者、交通智能化研究人员及目标检测学习者,提供道路结冰场景下的二分类检测样本,类别为clear-road与ice-road,可用于高速公路结冰预警、城市道路实时监测以及桥梁隧道出…

2026/10/17 2:02:30 阅读更多 →
我把Cursor和Copilot都扔了:实测Token从120万砍到4万,TaoToken统一Key接入Agentic工作流

我把Cursor和Copilot都扔了:实测Token从120万砍到4万,TaoToken统一Key接入Agentic工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 2:01:30 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →