Firecrawl là một công cụ mã nguồn mở mạnh mẽ để chuyển đổi các trang web và trang mạng thành các định dạng sạch, sẵn sàng cho LLM như Markdown, HTML, ảnh chụp màn hình, dữ liệu có cấu trúc, v.v. Mặc dù Docker thường được sử dụng để đơn giản hóa việc triển khai, bạn có thể thích thiết lập Ubuntu gốc hơn—để kiểm soát tốt hơn, minh bạch hoặc thuận tiện cho việc phát triển. Dưới đây là cách thực hiện.
Ngoài ra còn có hướng dẫn về cách thiết lập cục bộ, nhưng một số thông tin trong hướng dẫn đã lỗi thời và có thể không hoạt động như mong đợi nếu bạn chỉ làm theo một cách mù quáng. Tuy nhiên, bạn luôn có thể sử dụng nó như một tài liệu tham khảo.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có:
- Node.js (>=18 LTS) đã cài đặt
- pnpm để quản lý gói
- Redis đang chạy cục bộ (localhost:6379) cho hàng đợi công việc
Các bước cài đặt
1. Cài đặt các phụ thuộc
# Install Node.js
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs build-essential
# Install pnpm globally
curl -fsSL https://get.pnpm.io/install.sh | sh -
# Install Redis
sudo apt-get install lsb-release curl gpg
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
sudo chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install redis
2. Sao chép kho lưu trữ Firecrawl và xây dựng
Truy cập GitHub và sao chép kho lưu trữ vào thư mục cục bộ
git clone https://github.com/mendableai/firecrawl.git
cd firecrawl/apps/api
3. Định cấu hình các biến môi trường
Sao chép cấu hình ví dụ và cập nhật nó:
cp .env.example .env
# Edit .env to include:
NUM_WORKERS_PER_QUEUE=8
PORT=3002
HOST=0.0.0.0
REDIS_URL=redis://localhost:6379
REDIS_RATE_LIMIT_URL=redis://localhost:6379
# for local, we can bypass Auth first, otherwise may need Supabase setup
USE_DB_AUTHENTICATION=false
Các tham số khác trong tệp có thể cho thuê chúng như cũ. Vui lòng thêm bất kỳ biến môi trường tùy chọn nào khi cần. Nếu bạn cần thu thập nội dung và lưu dưới dạng ảnh chụp màn hình, bạn có thể cần thiết lập Playwright và định cấu hình địa chỉ dịch vụ trong .env. Nếu bạn không có kế hoạch làm điều đó vào lúc này, có thể để nguyên như vậy.
4. Khởi động các dịch vụ
Chạy các lệnh này trong các thiết bị đầu cuối riêng biệt:
# Terminal A: Start Redis
sudo systemctl start redis-server
# Terminal B: Start the Worker
cd firecrawl/apps/api
PORT=3003 pnpm run workers
# Terminal C: Start the API Server
cd firecrawl/apps/api
pnpm run start
Lưu ý rằng khi khởi động các worker, bạn cần đặt rõ ràng một cổng để nó sẽ không nghe ở 3002 được đặt trong .env vì nó sẽ được sử dụng khi khởi động máy chủ api. Nếu không, bạn sẽ thấy lỗi bên dưới.
2025-09-04 15:23:23 info [:]: Worker 34522 started
node:events:497
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use 0.0.0.0:3002
at Server.setupListenHandle [as _listen2] (node:net:1940:16)
at listenInCluster (node:net:1997:12)
at node:net:2206:7
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
Emitted 'error' event on WebSocketServer instance at:
at Server.emit (node:events:519:28)
at emitErrorNT (node:net:1976:8)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
code: 'EADDRINUSE',
errno: -98,
syscall: 'listen',
address: '0.0.0.0',
port: 3002
}
Node.js v22.19.0
5. Kiểm tra thiết lập của bạn
Sử dụng curl để xác thực rằng API đang phản hồi:
curl -X POST http://localhost:3002/v2/scrape \
-H 'Content-Type: application/json' \
-d '{"url":"https://www.pixelstech.net/document/aboutus.php", "formats":["markdown","html"]}'
Bạn sẽ nhận được đầu ra có cấu trúc bao gồm Markdown và HTML.

Điều này cho thấy thiết lập hoạt động. Bạn có thể khám phá thêm các tùy chọn do Firecrawl cung cấp ngay bây giờ.
Thiết lập hợp lý này giúp mọi thứ minh bạch và có thể tùy chỉnh—hoàn hảo cho việc phát triển, đóng góp hoặc tự lưu trữ được tinh chỉnh. Trong bài đăng tiếp theo, chúng tôi sẽ cung cấp cách thu thập dưới dạng ảnh chụp màn hình bằng Playwright.
No comment for this article.