本地部署 Firecrawl

server/2025/3/31 5:48:01/

本文档概述了如何本地部署 Firecrawl

为什么要本地部署

  • 增强安全性和合规性: 数据处理和存储完全在您的控制之下,符合内部和外部法规。Firecrawl 作为 Mendable 产品,依赖于 SOC2 Type2 认证,保证了高数据安全标准。
  • 可定制的服务: 可以根据特定需求定制服务,例如 Playwright 服务。
  • 深入学习和社区贡献: 深入了解 Firecrawl 的工作原理,更有助于贡献代码。

注意事项:

  • Fire-engine 访问受限: 自行部署的实例无法访问 Fire-engine,这意味着无法使用 IP 封锁、机器人检测等高级功能。
  • 手动配置: 需要手动配置 .env 文件以支持基本 fetch 和 Playwright 之外的抓取方法。

部署步骤:

  1. 克隆代码
git clone https://github.com/mendableai/firecrawl.git
  1. 设置环境变量:
    • 创建根目录下的 .env 文件,使用以下模板:
# ===== Required ENVS ======
PORT=3002
HOST=0.0.0.0# To turn on DB authentication, you need to set up Supabase.
USE_DB_AUTHENTICATION=false# ===== Optional ENVS ======# OpenAI API Key (用于 AI 功能)
# OPENAI_API_KEY=# Ollama (实验性)
# OLLAMA_BASE_URL=http://localhost:11434/api
# MODEL_NAME=deepseek-r1:7b
# MODEL_EMBEDDING_NAME=nomic-embed-text# OpenAI 兼容 API (实验性)
# OPENAI_BASE_URL=https://example.com/v1
# OPENAI_API_KEY=# 代理设置
# PROXY_SERVER=
# PROXY_USERNAME=
# PROXY_PASSWORD=# SearXNG API (用于 /search API)
# SEARXNG_ENDPOINT=http://your.searxng.server
# SEARXNG_ENGINES=
# SEARXNG_CATEGORIES=# Supabase 设置 (用于数据库认证等)
# SUPABASE_ANON_TOKEN=
# SUPABASE_URL=
# SUPABASE_SERVICE_TOKEN=# 测试 API 密钥
# TEST_API_KEY=# ScrapingBee API 密钥 (作为备用抓取引擎)
# SCRAPING_BEE_API_KEY=# Bull Queue 管理员密钥 (请修改默认值)
BULL_AUTH_KEY=CHANGEME# (Docker Compose 自动配置,无需手动设置)
# PLAYWRIGHT_MICROSERVICE_URL=http://playwright-service:3000/scrape
# REDIS_URL=redis://redis:6379
# REDIS_RATE_LIMIT_URL=redis://redis:6379# Llamaparse API 密钥 (用于 PDF 解析)
# LLAMAPARSE_API_KEY=# Slack Webhook URL (用于健康状态通知)
# SLACK_WEBHOOK_URL=# Posthog API Key (用于事件跟踪)
# POSTHOG_API_KEY=
# POSTHOG_HOST=
  1. 构建并运行 Docker 容器:
docker compose build
docker compose up -d
  1. 访问 Firecrawl: 在浏览器中访问 http://localhost:3002
  2. Bull Queue 管理员界面: 在浏览器中访问 http://localhost:3002/admin/CHANGEME/queues (请务必修改 BULL_AUTH_KEY)。

API 测试 (可选):

curl -X POST http://localhost:3002/v1/crawl \-H 'Content-Type: application/json' \-d '{"url": "https://firecrawl.dev"}'

常见问题及解决方案:

  • API 密钥: 使用 SDK 时,API 密钥是可选的,仅在连接云服务时需要。
  • Supabase 未配置: 目前自行部署的实例不支持 Supabase 配置,但可以正常抓取和爬取。
  • Docker 容器启动失败: 检查 Docker 日志 (docker logs [container_name]),确保环境变量设置正确,以及 Docker Compose 文件配置正确。
  • Redis 连接问题: 确保 Redis 服务运行,.env 文件中的 REDIS_URLREDIS_RATE_LIMIT_URL 设置正确,并且网络配置允许连接。
  • API 接口无响应: 检查 Firecrawl 服务是否运行,PORTHOST 设置是否正确,以及网络配置。

http://www.ppmy.cn/server/178661.html

相关文章

2025年渗透测试面试题总结-某深信服 -安全工程师(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 深信服 -安全工程师 一、宽字节注入原理与编码影响 (一)技术原理 &#xff08…

基于AWS Endpoint Security(EPS)的全天候威胁检测与响应闭环管理

设计AWS云架构方案实现基于AWS Endpoint Security(EPS)的全天候威胁检测与响应,使用EPS通过代理实时监控终端进程、网络连接等行为,例如检测异常登录尝试或恶意软件活动。一旦发现威胁,系统会自动生成安全事件工单并触发响应流程,…

Js闭包Closure 及 其可能产生的内存泄漏问题

闭包的主要作用:实现数据私有,函数内定义的私有变量,外面可以使用访问,但不可以修改。 以统计调用次数的函数为例: 普通形式: let a 0;function fn() {a;console.log(a: ${a});} 闭包形式: …

批量给 PPT 幻灯片页面添加文字和图片水印

给 PPT 文档添加水印是非常常见的一个操作,不仅可以保护我们的版权,也可以起到很好的宣传作用。那如何给 PPT 文档地幻灯片页面添加水印呢?如何添加文字水印或者图片水印呢?今天就给大家介绍一种批量给 PPT 添加水印的方法。 在网…

【C++初阶】从零开始模拟实现vector(含迭代器失效详细讲解)

目录 1、基本结构 1.1成员变量 1.2无参构造函数 1.3有参构造函数 preserve()的实现 代码部分: push_back()的实现 代码部分: 代码部分: 1.4拷贝构造函数 代码部分: 1.5支持{}初始化的构造函数 代码部分: …

在ASP.NET Core中使用NLog:配置与性能优化指南

在ASP.NET Core中使用NLog:配置与性能优化指南 在ASP.NET Core中使用NLog:配置与性能优化指南1. 安装NLog包2. 基础配置2.1 创建nlog.config文件2.2 程序启动配置 3. 在代码中使用日志4. 性能优化配置4.1 异步日志处理4.2 自动清理旧日志4.3 缓冲写入优化…

探秘 C++ 双星系统模型:实现快速值切换

在软件开发的世界里,有时我们会遇到需要频繁在两个值之间进行切换的场景。为了高效地处理这类情况,我们可以设计一个专门的类来实现这个功能。今天,我们就来详细介绍一个用 C 实现的双星系统模型类 Turner,它能够帮助我们轻松地在…

蓝桥备赛(25)算法篇【差分】

一、差分 前缀和和差分的核心思想是预处理 , 可以在暴力枚举的过程中 , 快速给出查询结果 , 从而优化时间复杂度 。 最经典的用空间替换时间的做法。 学完差分之后 , 大家会发现 , 前缀和与差分是一对互逆的运算 二、一…