本地部署 Firecrawl

本地部署 Firecrawl

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

为什么要本地部署?

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

注意事项:

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

部署步骤:

  1. 克隆代码

    git clone https://github.com/mendableai/firecrawl.git

  2. 设置环境变量:

    • 创建根目录下的 .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=

  3. 构建并运行 Docker 容器:

bash 复制代码
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 测试 (可选):

bash 复制代码
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 设置是否正确,以及网络配置。
相关推荐
gblfy19 天前
DeepSeek + Dify + Ollama + Docker + Linux 私有化部署,构建你的专属私人 AI 助手
linux·docker·dify·本地部署·ollama·deepseek·私有化
李二苟1 个月前
Windows环境下本地部署deepseek-r1或其他大模型 【保姆级教程】
ai·本地部署·deepseek·qwq·olloma
放羊郎1 个月前
本地大模型构建个人知识库(Ragflow)
知识库·rag·本地部署·本地大模型·ragflow
tinghe171 个月前
本地部署Dify 添加Ollama模型DeepSeek
dify·本地部署·ollama·deepseek
熊文豪2 个月前
Browser Use Web UI 本地部署完全指南:从入门到精通
本地部署·python工具·ai开发·deepseek·ai自动化·浏览器代理·llm应用
放羊郎2 个月前
从零开始实现Stable Diffusion本地部署
stable diffusion·文生图·本地部署
engchina2 个月前
本地部署 RAGFlow - 修改默认端口
本地部署·ragflow
恩博同学2 个月前
DeepSeek linux服务器(CentOS)部署命令笔记
linux·centos·本地部署·deepseek
XZY__one2 个月前
deepseek 本地部署
本地部署·deepseek