This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
name: Build & Push Docker Image (Backend)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout source
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
YOUR_DH_USER/lms-backend:latest
|
||||||
|
YOUR_DH_USER/lms-backend:${{ gitea.sha }}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
# LMS Backend
|
||||||
|
|
||||||
|
โปรเจกต์ **lms-backend** เป็นระบบ Backend / Back Office
|
||||||
|
สำหรับรองรับการบริหารจัดการ **Learning Management System (LMS)**
|
||||||
|
|
||||||
|
ระบบนี้ถูกออกแบบเพื่อ:
|
||||||
|
- รองรับการจัดการข้อมูลผู้ใช้งาน เนื้อหา และการเรียนรู้
|
||||||
|
- ทำหน้าที่เป็น Back Office สำหรับ **LMS สาธารณะ** ที่มีแผนพัฒนาและเปิดให้ใช้งานในอนาคต
|
||||||
|
- รองรับการพัฒนาและขยายระบบในระยะยาว
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
- เป็นศูนย์กลางการจัดการระบบ LMS
|
||||||
|
- รองรับการเชื่อมต่อกับ Frontend และบริการอื่นในอนาคต
|
||||||
|
- ออกแบบให้เหมาะกับการใช้งานในระดับองค์กรและสาธารณะ
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Technical Overview
|
||||||
|
|
||||||
|
- Backend Framework: Django
|
||||||
|
- Containerization: Docker
|
||||||
|
- CI: Gitea Actions
|
||||||
|
- Deployment: Kubernetes (k3s) + GitOps (ArgoCD)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Deployment Model
|
||||||
|
|
||||||
|
โปรเจกต์นี้ใช้แนวทาง **CI/CD + GitOps**
|
||||||
|
|
||||||
|
- Source code ใช้ Gitea
|
||||||
|
- Build Docker Image และจัดเก็บใน Docker Hub
|
||||||
|
- การ deploy ควบคุมผ่าน GitOps repository (`lms-k8s`)
|
||||||
|
- ArgoCD ทำหน้าที่ deploy ไปยัง Kubernetes cluster
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Repository นี้โฟกัสเฉพาะ Backend / Back Office
|
||||||
|
- Configuration และ Kubernetes manifests แยกอยู่ใน GitOps repository
|
||||||
|
- โครงสร้างระบบถูกออกแบบให้พร้อมรองรับ LMS สาธารณะในอนาคต
|
||||||
Reference in New Issue
Block a user