Firecrawl 自托管部署教程

使用 Docker Compose 快速部署 Firecrawl 服务

前置要求

  • Docker 和 Docker Compose

  • 至少 8GB 内存

  • 支持的系统:Mac (M1/M2/M3/M4)、Linux、Windows

快速部署

1. 克隆仓库


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

cd firecrawl

2. 启动服务


docker compose up -d

3. 查看服务状态


docker compose ps

正常运行时应该看到:

| 服务 | 状态 | 端口 |

|-----|------|------|

| api | Up | 3002 |

| playwright-service | Up | 3000 |

| nuq-postgres | Up | 5432 |

| redis | Up | 6379 |

4. 验证服务


curl http://localhost:3002/

Docker 镜像

本项目使用以下多平台镜像(支持 AMD64 和 ARM64):

| 镜像 | 说明 |

|-----|------|

| gwozai/firecrawl:latest | 主 API 服务 |

| gwozai/firecrawl-playwright:latest | Playwright 浏览器服务 |

| gwozai/firecrawl-nuq-postgres:latest | PostgreSQL 数据库 |

| redis:alpine | Redis 缓存 |

常用命令

启动服务


docker compose up -d

停止服务


docker compose down

查看日志


# 查看所有日志

docker compose logs -f

  

# 查看特定服务日志

docker compose logs -f api

docker compose logs -f playwright-service

重启服务


docker compose restart

更新镜像


docker compose pull

docker compose up -d

环境变量配置

创建 .env 文件配置可选参数:


# API 端口

PORT=3002

  

# Redis 配置

REDIS_URL=redis://redis:6379

  

# PostgreSQL 配置

POSTGRES_USER=postgres

POSTGRES_PASSWORD=postgres

POSTGRES_DB=postgres

  

# OpenAI(可选,用于 AI 提取功能)

OPENAI_API_KEY=your-api-key

OPENAI_BASE_URL=https://api.openai.com/v1

  

# 代理配置(可选)

PROXY_SERVER=http://your-proxy:port

PROXY_USERNAME=username

PROXY_PASSWORD=password

资源限制

默认资源配置(可在 docker-compose.yaml 中调整):

| 服务 | CPU | 内存 |

|-----|-----|------|

| api | 4 核 | 8GB |

| playwright-service | 2 核 | 4GB |

故障排除

Playwright 服务启动失败


# 查看日志

docker compose logs playwright-service

  

# 重新拉取镜像

docker compose pull playwright-service

docker compose up -d playwright-service

API 连接 Redis 失败


# 检查 Redis 状态

docker compose logs redis

  

# 重启 Redis

docker compose restart redis

端口被占用


# 修改 .env 文件中的端口

PORT=3003

使用代理拉取镜像

如果网络受限,使用代理拉取:


export https_proxy=http://127.0.0.1:7897 http_proxy=http://127.0.0.1:7897 all_proxy=socks5://127.0.0.1:7897

docker compose pull


部署完成后,访问 http://localhost:3002 即可使用 Firecrawl API。

写文章用