1. Search tool
Search Tool
  • Tổng quan
  • Bussiness | Logic
    • Nghiệp vụ & Luồng Tìm kiếm
    • Task Orchestration
    • Scraping & Execution
    • Exception & Recovery
    • Proxy Orchestration
  • Project
    • Search API
      • Deployment
      • Architecture
        • Database Schema
        • System Architecture
        • Code Structure
      • API Interface
        • Go - Auth
          • Đăng nhập
          • Đăng ký (Public)
        • Go - User
          • Danh sách User (Phân trang)
          • Tạo User
          • Lấy tất cả User
          • Profile cá nhân
          • Chi tiết User
          • Cập nhật User
          • Xóa User
          • Đổi mật khẩu
        • Go - System
          • Nhật ký hoạt động (Phân trang)
          • Cập nhật dữ liệu Search
          • Test Webhook receiver
        • Go - Server
          • Danh sách Server (Phân trang)
          • Tạo Server
          • Lấy tất cả Server
          • Chi tiết Server
          • Cập nhật Server
          • Xóa Server
        • Go - Tasks
          • Tạo nhiều task Search
          • Lấy tất cả task Search
          • Reset trạng thái tất cả nhiệm vụ Search
          • Tạo nhiều task Anchor Text
          • Lấy tất cả nhiệm vụ Anchor Text
          • Reset trạng thái tất cả nhiệm vụ Anchor Text
        • Go - Webhook
          • Webhook cập nhật trạng thái (Dùng WEBHOOK_KEY)
          • Lấy Proxy cho Tool
          • Lấy Proxy có thể rotate
          • Cập nhật kết quả Search
          • Kết quả rotate Proxy
          • Cập nhật kết quả Anchor Text
          • Nhận kết quả từ Tool (v2)
    • Search tool
      • Deployment
      • Architecture
        • Database Schema
        • System Architecture
        • Code Structure
      • API Interface
        • Bun - Main
          • Thông tin server Bun
          • Health Check
          • Lấy file Log
        • Bun - Task
          • Danh sách Search Tasks
          • Tạo nhiều Search Tasks
          • Xóa tất cả Search Tasks
          • Xóa Search Task
          • Reset trạng thái Search
          • Reset running process
          • Danh sách Anchor Tasks
          • Tạo nhiều Anchor Tasks
          • Xóa tất cả Anchor Tasks
          • Xóa Anchor Task
          • Reset trạng thái Anchor
          • Reset running process
  • Schemas
    • LoginRequest
    • ProxyRequest
    • CreateUserRequest
    • KeywordTaskRequest
    • UpdateUserRequest
    • SearchAutomationRequest
    • ChangePasswordRequest
    • CreateServerRequest
    • AnchorTextTaskRequest
  1. Search tool

Deployment

HƯỚNG DẪN SỬ DỤNG VÀ THIẾT LẬP: SEARCH TOOL#

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.
cp .env.example .env
# 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                  
Bước 2: Khởi động Cơ sở dữ liệu
Chạy Container MongoDB thông qua tệp cấu hình Docker Compose có sẵn:
Bước 3: Tải thư viện và Khởi chạy
Sử 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.
Bước 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:

Một số lệnh hữu ích khác**#

Xóa cache build: bun run clean
Sang production sẽ xài build thẳng target của bun: bun run build hoặc compile luôn: bun run compile
Format code bằng prettier: bun run format
Check linter (hiện dùng OXLint): bun run lint
Ngày cập nhật 2026-03-30 11:00:31
Trước
Nhận kết quả từ Tool (v2)
Tiếp theo
Database Schema
Built with