┌─────────────────────────────────────────────────────────────────┐
│ ADMIN DASHBOARD │
│ Vue 3 + Vite + Naive-UI │
│ http://localhost:5173 │
└────────────────────────┬────────────────────────────────────────┘
│ REST API (HTTP)
▼
┌─────────────────────────────────────────────────────────────────┐
│ API MASTER SERVER │
│ Golang 1.22 · GoFiber · GORM │
│ http://localhost:33001 │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ MySQL │ │ MongoDB │ │ Redis │ │
│ │ :33022 │ │ :33021 │ │ :33023 │ │
│ └───────────┘ └───────────┘ └───────────┘ │
└─────────────┬────────────────────────┬───────────────────────────┘
│ Webhook / Task Dispatch │ Task Result Callback
▼ │
┌─────────────────────────────────┐ │
│ TOOLS V2 SERVER │────┘
│ Bun >= 1.2.5 · ElysiaJS │
│ http://localhost:3005 │
│ ┌──────────────────────────┐ │
│ │ MongoDB (dùng chung │ │
│ │ hoặc DB riêng) │ │
│ │ :33021 │ │
│ └──────────────────────────┘ │
│ │
│ Quản lý: Task Groups, Proxies │
│ Profile, Search, Report Tasks │
└─────────────────────────────────┘| Phân hệ | Công nghệ | Cổng mặc định | DB sử dụng |
|---|---|---|---|
api | Golang 1.22, GoFiber, GORM | :33001 | MySQL + MongoDB + Redis |
admin | Vue 3, Vite, Naive UI, Tailwind CSS | :5173 | —(Gọi qua API) |
tools_v2 | Bun ≥1.2.5, ElysiaJS, Puppeteer | :3005 | MongoDB |
| Công cụ | Phiên bản tối thiểu | Lệnh kiểm tra |
|---|---|---|
| Go | 1.22.4 | go version |
| Node.js | 18.3.0 | node -v |
| Bun | 1.2.5 | bun -v |
| MongoDB | 6.0+ | mongod --version |
| MySQL | 8.0+ | mysql --version |
| Redis | 6.2+ | redis-cli --version |
| Công cụ | Phiên bản tối thiểu | Lệnh kiểm tra |
|---|---|---|
| Docker | 24.0+ | docker --version |
| Docker Compose | 2.20+ | docker compose version |
# Chạy trong PowerShell (Run as Administrator)
irm bun.sh/install | iex
# Kiểm tra sau khi cài
bun -v[!TIP]
Đây là phương án khuyến nghị cho môi trường Production và CI/CD. Tất cả các Database sẽ được Docker quản lý, không cần cài tay.
.env và sửa các thông số Database theo chuẩn của Docker:# File: api/.env (bắt buộc khi dùng Docker)
DB_MONGO_HOST=traffic_tool_mongodb
DB_MONGO_PORT=27017
DB_MONGO_USER=root
DB_MONGO_PASS=PwDev123
DB_MONGO_NAME=tool-traffic-api
DB_MYSQL_HOST=traffic_tool_mysql
DB_MYSQL_PORT=3306
DB_MYSQL_USER=root
DB_MYSQL_PASS=PwDev123
DB_MYSQL_NAME=tool_traffic_api
REDIS_HOST=traffic_tool_redis
REDIS_PORT=6379
REDIS_DB=0| Container | Image | Host Port → Container Port |
|---|---|---|
traffic_tool_mongodb | mongo:8 | 33021 → 27017 |
traffic_tool_mysql | mysql:8.4 | 33022 → 3306 |
traffic_tool_redis | redis:6.2 | 33023 → 6379 |
[!NOTE]
API Docker sẽ chạy trên cổng:33001(host), môi trường development. Log đầu tiên sẽ hiện"Server started on :33001".