ภาพรวมการติดตั้งและการโฮสต์ระบบด้วยตนเอง (Self-Hosting)
Aqiled เป็นระบบสารสนเทศเพื่อการบริหารจัดการโรงเรียน (School Information System) แบบโอเพนซอร์สและเป็นอิสระ สร้างขึ้นเพื่อส่งเสริมความเป็นอิสระของสถาบันการศึกษา โรงเรียน มูลนิธิ หรือนักพัฒนาสามารถขอรับซอร์สโค้ด นำไปติดตั้งบนโครงสร้างพื้นฐานของตนเอง และรักษาการเป็นเจ้าของข้อมูลของนักเรียนได้อย่างสมบูรณ์
พร้อมใช้งานแล้ว. ตรวจสอบล่าสุดเมื่อ: 26 ตุลาคม 2026.
สถาปัตยกรรมของระบบ
Aqiled ประกอบด้วย 3 องค์ประกอบหลัก:
- Back-End API (
/back-end): พัฒนาด้วย .NET 8/9/10 และ PostgreSQL 18 ทำหน้าที่จัดการตรรกะทางธุรกิจ การยืนยันตัวตน สิทธิ์ความปลอดภัยระดับแถว (Row-Level Security), Hangfire สำหรับงานเบื้องหลัง และ SignalR สำหรับการแจ้งเตือนแบบเรียลไทม์ - Main Application (
/front-end): พัฒนาด้วย React, Vite, Tailwind CSS และ TypeScript ใช้งานโดยครู บุคลากร ผู้บริหาร นักเรียน และผู้ปกครอง - Platform Admin Portal (
/admin-portal): ใช้เฉพาะผู้ให้บริการแพลตฟอร์มในสภาพแวดล้อมแบบหลายโรงเรียน (Multi-Tenant) โดยจะปิดการใช้งานในการติดตั้งแบบโรงเรียนเดี่ยว (Single-School)
- 1ฮาร์ดแวร์เซิร์ฟเวอร์และ OS
- 2PostgreSQL 18 พร้อม RLS
- 3บริการ .NET API
- 4รีเวิร์สพร็อกซี Nginx/Caddy
- 5เว็บแอปพลิเคชัน React
รูปแบบการติดตั้ง (Deployment Modes)
Aqiled รองรับ 2 รูปแบบการติดตั้ง:
- โหมดโรงเรียนเดี่ยวแบบเฉพาะเจาะจง (Dedicated Single-School - แนะนำสำหรับโอเพนซอร์ส):
- แต่ละโรงเรียนจะทำงานบนเซิร์ฟเวอร์หรือคอนเทนเนอร์แยกอิสระของตนเอง
- ใช้ข้อมูลประจำตัวฐานข้อมูลเฉพาะ และล็อกตัวระบุ
deploymentidentityของโรงเรียน - ปิดการใช้งานฟังก์ชัน SuperAdmin การลงทะเบียนตัวอย่าง และการกำหนดเส้นทางข้ามโรงเรียน
- หน้าบ้าน (Front-End) จะเชื่อมต่อไปยังเส้นทาง
/apiภายในเครื่องโดยตรง
- โหมดผู้เช่าหลายราย (Multi-Tenant):
- แพลตฟอร์มเดียวดูแลจัดการหลายโรงเรียน โดยแยกข้อมูลด้วย PostgreSQL Row-Level Security
แผนผังคู่มือการติดตั้ง
เพื่อให้การติดตั้งระบบของคุณเป็นไปอย่างราบรื่น โปรดศึกษาคู่มือตามลำดับดังนี้:
- ข้อกำหนดเบื้องต้นของระบบและฐานข้อมูล — ขนาดฮาร์ดแวร์ ข้อกำหนด PostgreSQL 18 และการตั้งค่าสิทธิ์ฐานข้อมูล
- เลือกรูปแบบการติดตั้งของคุณ:
- การติดตั้งด้วย Docker Compose — ติดตั้งอย่างรวดเร็วด้วยคอนเทนเนอร์
- การติดตั้งบนเซิร์ฟเวอร์ Bare-Metal และ VPS — ติดตั้งโดยตรงบน Linux พร้อม systemd
- การตั้งค่าเริ่มต้นโรงเรียนและโหมดโรงเรียนเดี่ยว — รันคำสั่ง
provision-schoolและกำหนดค่า Tenant ID - รีเวิร์สพร็อกซี SSL และเว็บซ็อกเก็ต — กำหนดค่า Nginx หรือ Caddy สำหรับ SSL และ SignalR
- การแก้ไขปัญหาการติดตั้งและการดำเนินงาน — ตรวจสอบสถานะความพร้อม (
/health/ready) และวิธีแก้ไขข้อผิดพลาดทั่วไป
