1. Search
Tool
  • Check
    • Admin + API + Tool
      • Tài liệu triển khai dự án Check
    • Search
      • Tài liệu triển khai dịch vụ Search cho dự án Check
    • Proxy
      • Tài liệu triển khai dịch vụ Proxy cho dự án Check
  • Traffic
    • Tài liệu triển khai dự án Traffic
  • OnePush
    • Tài liệu triển khai dự án OnePush
  • Landing-Pages
    • Tài liệu triển khai dự án Landing-Page
  • Marketing
    • Tài liệu triển khai dự án Marketing
  1. Search

Tài liệu triển khai dịch vụ Search cho dự án Check

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
Modified at 2026-03-21 09:02:41
Previous
Tài liệu triển khai dự án Check
Next
Tài liệu triển khai dịch vụ Proxy cho dự án Check
Built with