1. Sport API
Sport
  • Sport Site
    • Tài liệu triển khai dự án Sport Site
    • Tài liệu triển khai dự án Landing Page
    • Tài liệu triển khai dự án Newslooks
  • Sport API
    • Tài liệu triển khai dự án KSport API
    • Tài liệu triển khai dự án WSport API
    • Tài liệu triển khai dự án WSport API Game
  • Sport DB
    • Tài liệu triển khai dự án Sport DB
  • Sport Admin
    • Tài liệu triển khai dự án Sport Admin
  1. Sport API

Tài liệu triển khai dự án KSport API

Tài Liệu Triển Khai ksport-api — Golang trên Docker#

   
Triển Khai Golang API Service trên Docker với AWS
  

🔎 Tổng Quan#

Dự án ksport-api là một service API Golang đơn, chạy trên Docker và quản lý bởi Supervisor. Sử dụng pipeline build multi-stage để biên dịch Go binary và đóng gói vào image production nhẹ trên AWS ECR.

Hạ Tầng Chính#

Thành phầnDịch vụ AWSMục đích
Container ImagesAWS ECRRegistry Docker image riêng tư
Process ManagerSupervisorQuản lý tiến trình Go binary trong container

Chi Tiết Dự Án#

MụcGiá trị
ECR Repositorysports/ksport-api-prod
Base Image ECRsports/ksport-api-base-prod:latest
Source Branchksport-golang-develop
Submodule Pathbuild/source-ksport-golang
Port50001

🏗 Tổng Quan Kiến Trúc#

Cấu Trúc Thư Mục#

ksport-api/
├── build/
│   ├── Dockerfile-ksport-golang.production       # Build multi-stage (Go → base image)
│   ├── conf/                                     # Cấu hình Supervisor
│   └── source-ksport-golang/                     # Git submodule → source code
├── .env-ksport-golang.production                 # Biến môi trường production
├── docker-compose.yml-ksport-golang.production   # Docker Compose cho production
└── docs/                                         # Tài liệu

Pipeline Build Multi-Stage#

┌──────────────────────────────────────────────────────────────────────────┐
│                 PIPELINE BUILD MULTI-STAGE — KSPORT-API                  │
│                                                                          │
│  ┌────────────────────┐                                                  │
│  │     builder        │                                                  │
│  │                    │                                                  │
│  │  • golang:latest   │                                                  │
│  │  • go mod download │                                                  │
│  │  • go build        │                                                  │
│  │    → ksport-api    │                                                  │
│  └────────┬───────────┘                                                  │
│           │                                                              │
│           ▼                                                              │
│  ┌────────────────────┐                                                  │
│  │   production       │                                                  │
│  │  (BASE_IMAGE)      │                                                  │
│  │                    │                                                  │
│  │  • Supervisor      │                                                  │
│  │  • ksport-api bin  │                                                  │
│  │  • Non-root user   │                                                  │
│  └────────┬───────────┘                                                  │
│           │                                                              │
│           ▼                                                              │
│  ┌────────────────────┐                                                  │
│  │    ECR Push        │                                                  │
│  │    :latest         │                                                  │
│  └────────────────────┘                                                  │
└──────────────────────────────────────────────────────────────────────────┘

📦 Yêu Cầu Tiên Quyết#

Công cụPhiên bản tối thiểuMục đích
Docker≥ 24.0.0Build và chạy container
Docker Compose≥ 2.20.0Điều phối nhiều container
AWS CLI≥ 2.0Xác thực và push lên AWS ECR
Git≥ 2.30Quản lý source code & submodules

⚙ Cấu Hình#

Bước 1: Clone Repository và Khởi Tạo Submodule#

Bước 2: Cấu Hình Biến Môi Trường#

Bước 3: Cấu Hình Source .env#


🏭 Build & Đẩy Image Lên AWS ECR#

Bước 1: Đăng Nhập AWS ECR#

Bước 2: Build Base Image (nếu cần cập nhật)#

Bước 3: Build & Push Production Image#


🚀 Triển Khai Lên Production#

Bước 1: Chuẩn Bị Trên Server Production#

Bước 2: Đăng Nhập ECR và Triển Khai#

Bước 3: Kiểm Tra Trạng Thái#


📋 Tham Khảo Cấu Hình Runtime#

Volume Mounts#

Đường dẫn mount (Container)NguồnChế độMục đích
/app/.envbuild/source-ksport-golang/.envROBiến môi trường ứng dụng

Networks#

NetworkMục đích
prod-networkGiao tiếp services production
backend-networkGiao tiếp services backend
Modified at 2026-03-22 02:11:10
Previous
Tài liệu triển khai dự án Newslooks
Next
Tài liệu triển khai dự án WSport API
Built with