1. Deployment
Search Tool
  • Tổng quan Cấu trúc Hệ thống
  • Bussiness | Logic
    • Nghiệp vụ & Luồng Tìm kiếm
  • Project
    • Search API
      • Tổng quan
      • Architecture
        • User Guide
        • Database Schema
        • System Architecture
        • Code Structure
      • Deployment
        • Product
      • API Interface
        • Tài liệu Tham khảo API
        • 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)
        • 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
    • Search tool
      • Tổng quan
      • Architecture
        • User Guide
        • Database Schema
        • System Architecture
        • Code Structure
      • Deployment
        • Product
  • Schemas
    • LoginRequest
    • ProxyRequest
    • CreateUserRequest
    • KeywordTaskRequest
    • UpdateUserRequest
    • SearchAutomationRequest
    • ChangePasswordRequest
    • CreateServerRequest
    • AnchorTextTaskRequest
  1. Deployment

Product

Tài Liệu Triển Khai Dự Án Search — Docker#

Docker  Golang  Bun

Triển Khai Dự Án Search Production với Docker
English   Tiếng Việt

🔥 Tổng Quan#

Tài liệu này mô tả quy trình build và triển khai dự án Search chạy trên Docker trong môi trường production. Dự án Search bao gồm hai dịch vụ chính:
Dịch VụCông NghệRuntimeMục Đích
APIGolangGo binary + SupervisorAPI backend cho tìm kiếm
ToolBun (TypeScript)Bun + Supervisor + ChromeCông cụ tự động đánh chỉ mục tìm kiếm

🔌 Dịch Vụ API#

Tech Stack#

Ngôn ngữ: Golang
Xây dựng: go mod download → go build -o se-api cmd/main.go
Runtime: Go binary + Supervisor
ECR: search/api-prod

Cấu Trúc Dự Án#

Search/api/
├─ build/
│  ├─ Dockerfile-base                           # Base image: Supervisor
│  ├─ Dockerfile                                # Production: Go build
│  ├─ api/                                      # ⚡ Git submodule — Go source
│  └─ conf/supervisor/search-api.conf
├─ database/
└─ docker-compose.yml.production

Xây dựng Pipeline#

┌─────────────────────────────────────────────────────────────┐
│                    GO BUILD PIPELINE                        │
│                                                             │
│  ┌─────────────┐            ┌─────────────┐                 │
│  │ GIAI ĐOẠN 1 │            │ GIAI ĐOẠN 2 │                 │
│  │    build    │───────────▶│ production  │                 │
│  │             │            │             │                 │
│  │ • go mod    │            │ • Base      │                 │
│  │   download  │            │   image     │                 │
│  │ • go build  │            │ • Supervisor│                 │
│  │ • se-api    │            │ • se-api    │                 │
│  │   binary    │            │   binary    │                 │
│  └─────────────┘            └─────────────┘                 │
└─────────────────────────────────────────────────────────────┘

Xây dựng & Triển Khai#


🛠️ Dịch Vụ Tool#

Tech Stack#

Framework: Bun (TypeScript)
Xây dựng: bun install → bun compile
Runtime: Bun + Supervisor + Google Chrome Stable
ECR: search/tool-prod

Cấu Trúc Dự Án#

Search/tool-v2/
├─ build/
│  ├─ Dockerfile-base                           # Base image: Supervisor + Chrome
│  ├─ Dockerfile                                # Production image
│  ├─ tools/                                    # ⚡ Git submodule — Bun source
│  └─ conf/supervisor/search-tool.conf
├─ docs/
│  ├─ swap-memory/README.md
│  └─ vi-VN/README.md
├─ media/
└─ docker-compose.yml.production

Xây dựng & Triển Khai#


🛡️ Các Thực Hành Bảo Mật#

1.
.env không bao giờ nhúng vào image — mount dưới dạng read-only volume khi runtime
2.
Container non-root — tất cả chạy dưới user không đặc quyền (UID: 1200)
3.
Supervisor quản lý — auto-restart khi có lỗi

📚 Tài Liệu Liên Quan#

Tài liệu Docker
Tài liệu Golang
Tài liệu Bun
Hướng dẫn AWS ECR
Cài đặt Swap Memory
Ngày cập nhật 2026-03-30 05:20:35
Trước
Code Structure
Tiếp theo
Tài liệu Tham khảo API
Built with