Tài liệu hướng dẫn cách thiết lập môi trường và cấu hình hệ thống Search Tool (Worker).
I. YÊU CẦU MÔI TRƯỜNG (PREREQUISITES)#
Để vận hành hệ thống, máy chủ vật lý hoặc môi trường cục bộ (Local) cần đáp ứng:Bun: Phiên bản tối thiểu >= 1.2.5.
Node.js: Phiên bản 20+ (Bắt buộc do một số module cốt lõi của Puppeteer vẫn phụ thuộc môi trường Node).
Docker: Để khởi chạy CSDL MongoDB nội bộ.
Google Chrome: Phải được cài đặt trên hệ điều hành máy chủ (System-wide installation) do hệ thống sử dụng thư viện chrome-launcher.
II. QUY TRÌNH TRIỂN KHAI (DEPLOYMENT PROCESS)#
1. Setup biến môi trường (.env)Copy file sample ra .env và config lại các thông tin.# Server settings
PORT=33033 # Cổng network
NODE_ENV=development # Định nghĩa scope chạy (development/production)
DEBUG=true # Cờ bật tắt debug log
# API Key middleware và IP được phép call tới Tool
API_KEY='#!6f1!0...'
IP_ALLOWED=127.0.0.1,11...
# API Key webhook và Base URL của server chính để nhận callback (Webhook)
WEBHOOK_API_KEY='255d...'
API_URL='http://127.0... '
# API Endpoint tool gọi lấy proxy HTTP/S sống cho từng task (Proxy Tool)
GET_PROXY_API='http://...'
PROXY_API_KEY='255d0...'
# MongoDB Configuration
DB_MONGO_HOST=127.0.0.1
DB_MONGO_PORT=33024
DB_MONGO_USERNAME=root
DB_MONGO_PASSWORD=PwDev123
DB_MONGO_DATABASE=search...
# Browser settings
CRON_SEARCH_LIMIT=10 # Số lượng task crawl bốc lên từ DB mỗi chu kỳ Cronjob (nhỏ để tránh timeout)
CRON_TASK_LIMIT=14 # Max parallel process tổng cộng được xử lí trong hàng đợi
BROWSER_LIMIT_PER_PROCESS=1 # Số Browser/Tab Puppeteer được bật cùng khoảng thời gian
# API Endpoint searchapi.io ngoài để dự phòng kết quả
SEARCH_API_KEY=qzzavSi...
SEARCH_API_URL=https://s...
# RUNTIME Cờ setup target cho package builder
RUNTIME=bun
2. Khởi động Cơ sở dữ liệuChạy Container MongoDB thông qua tệp cấu hình Docker Compose có sẵn:3. Tải thư viện và Khởi chạySử dụng Bun để tải bộ phụ thuộc và khởi động máy chủ (có hỗ trợ Hot-Reload):Máy chủ mặc định lắng nghe tại cổng 33033.4. Kiểm tra trạng thái m áy chủGửi yêu cầu HTTP để xác nhận hệ thống vận hành ổn định:III. MỘT SỐ LỆNH HỮU ÍCH KHÁC#
Xóa cache build: Sử dụng lệnh bun run clean
Build Production: Sử dụng build target của Bun qua lệnh bun run build hoặc biên dịch trực tiếp bun run compile
Format code: Định dạng mã nguồn bằng Prettier qua lệnh bun run format
Kiểm tra lỗi linter: Hệ thống hiện dùng OXLint, kiểm tra bằng l ệnh bun run lint
Ngày cập nhật 2026-03-31 03:28:20