(Ubuntu 24 ― सिंगल नोड / systemd / Playwright MS)
पूर्वापेक्षाएँ #
- पहले से
/home/firecrawlमें सेटअप पूर्ण है, और systemd सेवाएँ
firecrowl-server・firecrowl-workers・firecrowl-playwright
चल रही हैं - Node.js 20 & pnpm 10 इंस्टॉल हैं
- Redis localhost:6379 पर चल रहा है
STEP 0 सेवा बंद करें & बैकअप #
sudo systemctl stop firecrowl-server firecrowl-workers firecrowl-playwright
cd /home
sudo cp -r firecrawl firecrawl_backup_$(date +%Y%m%d)
STEP 1 रिपॉजिटरी को अपडेट करें #
- सुरक्षित डायरेक्टरी पंजीकृत करें (केवल पहली बार)
git config --global --add safe.directory /home/firecrawl - शैलो फेच से नवीनतम कमिट पर जाएँ
cd /home/firecrawl git fetch --depth 1 origin main git reset --hard origin/main
STEP 2 डिपेंडेंसी पैकेज क्लीन री-इंस्टॉल करें #
cd /home/firecrawl/apps/api
rm -rf node_modules pnpm-lock.yaml package-lock.json
pnpm install # नवीनतम डिपेंडेंसी प्राप्त करें
pnpm approve-builds --all # postinstall स्क्रिप्ट्स की अनुमति दें
लापता पैकेज जोड़ें (इस बार आवश्यक थे) #
# Playwright मुख्य
pnpm add -D playwright
# domhandler टाइप त्रुटि समाधान
pnpm add -D domhandler @types/domhandler
STEP 3 सोर्स संशोधन (टाइप एरर संबोधन) #
निम्नलिखित 3 फ़ाइलों में पैच लागू करें।
3-1 src/lib/logger.ts
// संक्षिप्त …
const meta = info.metadata as any;
return `${info.timestamp} ${info.level} [${meta.module ?? ""}:${meta.method ?? ""}]: ${info.message}`;
// संक्षिप्त …
3-2 src/lib/extract/reranker.ts और fire-0/reranker-f0.ts
documents: documents as unknown as string[],
3-3 src/scraper/scrapeURL/lib/removeUnwantedElements.ts
import { Cheerio, load } from "cheerio";
import { AnyNode } from "domhandler";
STEP 4 प्रोडक्शन बिल्ड विधि पर स्विच करें (tsc→dist) #
4-1 package.json में स्क्रिप्ट जोड़ें #
"scripts": {
"build": "tsc",
"start:prod": "npm run build && node dist/src/index.js"
}
4-2 systemd सेवा संशोधित करें #
/etc/systemd/system/firecrowl-server.service
[Service]
WorkingDirectory=/home/firecrawl/apps/api
EnvironmentFile=/home/firecrawl/apps/api/.env
ExecStart=/usr/bin/pnpm run start:prod
Restart=always
RestartSec=5
sudo systemctl daemon-reload
STEP 5 बिल्ड & सेवा रीस्टार्ट #
cd /home/firecrawl/apps/api
pnpm run build
sudo systemctl restart firecrowl-server firecrowl-workers firecrowl-playwright
STEP 6 संचालन सत्यापन #
sudo systemctl status firecrowl-serveractive (running)हैcurl http://localhost:3002/test→ 200 OK- ब्राउज़र:
http://<IP>:3002/admin/<TEST_API_KEY>/queuesप्रदर्शित होता है http://<IP>:3000/html?url=https://example.com→ HTML रिटर्न होता है
चालू अपडेट (भविष्य में) #
git pull&pnpm installpnpm run buildsudo systemctl restart firecrowl-server firecrowl-workers