ข้ามไปที่เนื้อหา

Panel API (/api/v1)

Panel API มีไว้สำหรับ UI ของเบราว์เซอร์ ใช้การยืนยันตัวตนด้วยเซสชันผู้ใช้ JWT + RBAC

การยืนยันตัวตน

  • อินเทอร์เฟซล็อกอิน POST /auth/login ส่งคืน token access + refresh
  • คำขอถัดไปจะแนบ Authorization: Bearer <access_token>
  • เมื่อ access หมดอายุ ให้ใช้ refresh เพื่อขอ token ใหม่
  • การล็อกอินมีการจำกัดอัตรา (rate limit) (ป้องกัน brute force); เมื่อเปิดใช้ 2FA แล้ว การล็อกอินต้องเรียก POST /auth/mfa/verify เพื่อตรวจสอบรหัสแบบไดนามิกก่อน

การตอบกลับมาตรฐาน

{ "code": 0, "message": "ok", "data": { } }

code ที่ไม่ใช่ 0 หมายถึงข้อผิดพลาดทางธุรกิจ

รายการเอนด์พอยต์

การยืนยันตัวตนและผู้ใช้

เมธอด พาธ คำอธิบาย
POST /auth/login ล็อกอิน (จำกัดอัตรา)
POST /auth/refresh รีเฟรช token
POST /auth/logout ออกจากระบบ
POST /auth/mfa/verify ตรวจสอบรหัส MFA แบบไดนามิกตอนล็อกอิน
GET /auth/mfa/status สอบถามสถานะการผูก MFA ของผู้ใช้ปัจจุบัน
POST /auth/mfa/setup สร้าง QR code / คีย์สำหรับผูก MFA
POST /auth/mfa/enable ตรวจสอบและเปิดใช้ MFA
POST /auth/mfa/disable ยกเลิกการผูก MFA
GET /profile ข้อมูลส่วนตัว (ชื่อเล่น / รูปประจำตัว / อีเมล)
PUT /profile แก้ไขข้อมูลส่วนตัว
POST /profile/password เปลี่ยนรหัสผ่าน
GET/POST/PUT/DELETE /users CRUD ผู้ใช้
GET/POST/PUT/DELETE /roles CRUD บทบาท
GET /roles/groups กลุ่มสิทธิ์
GET /permissions สิทธิ์ของผู้ใช้ปัจจุบัน

การตั้งค่าพาเนล

เมธอด พาธ คำอธิบาย
GET /settings อ่านการตั้งค่าที่ไม่ละเอียดอ่อนทั้งหมด (settings.view)
PUT /settings อัปเดตการตั้งค่าแบบกลุ่ม (settings.edit)

รายการละเอียดอ่อน (jwt_secret, metrics_pass) จะไม่ถูกส่งคืน; รายการที่ป้องกันการเขียน (jwt_secret) ไม่สามารถเขียนทับได้ ดูรายละเอียดที่ การตั้งค่าพาเนล

การมอนิเตอร์และการแจ้งเตือน

เมธอด พาธ คำอธิบาย
GET /dashboard/overview ภาพรวมแดชบอร์ด
GET /dashboard/metrics เมตริกแดชบอร์ด
GET /system/monitor สรุปการมอนิเตอร์
CRUD /alert-rules กฎการแจ้งเตือน
GET /alert-events เหตุการณ์การแจ้งเตือน

การแจ้งเตือน

เมธอด พาธ คำอธิบาย
GET /notifications รายการการแจ้งเตือน
GET /notifications/unread-count จำนวนที่ยังไม่อ่าน
PUT /notifications/read-all ทำเครื่องหมายอ่านทั้งหมด
PUT /notifications/:id/read ทำเครื่องหมายว่าอ่านแล้ว
DELETE /notifications/:id / /notifications ลบรายการเดียว / ล้างทั้งหมด

การจัดการทรัพยากร

เมธอด พาธ คำอธิบาย
CRUD /websites เว็บไซต์
CRUD /databases ฐานข้อมูล
GET/POST /apps /app-categories ร้านซอฟต์แวร์และหมวดหมู่
GET/POST /containers /images /volumes /networks ทรัพยากรคอนเทนเนอร์สี่ประเภท
GET/POST /files ไฟล์
CRUD /cron-jobs งานตามกำหนดเวลา
GET /logs /logs/tail ล็อก

ระบบและความปลอดภัย

เมธอด พาธ คำอธิบาย
GET /system/info /processes /ports /disks /network /users /groups /firewall ทรัพยากรระบบ
GET/POST /security/... ความปลอดภัยของโฮสต์ (baseline / FIM / ภัยคุกคาม / ไฟร์วอลล์ / ความปลอดภัยการล็อกอิน)
GET /audit-logs /access-logs ล็อกการตรวจสอบ / การเข้าถึง

AI และการผสานรวม

เมธอด พาธ คำอธิบาย
POST /ai/chat สนทนา AI (function call)
POST /ai/chat/stream สนทนา AI (SSE แบบสตรีม)
GET/POST/PUT/DELETE /mcp การกำหนดค่า MCP
GET/POST/DELETE /skills ฯลฯ ทักษะ AI (SkillHub ค้นหา / ติดตั้ง / อัปโหลด)

เทอร์มินัล

เมธอด พาธ คำอธิบาย
GET /terminal เทอร์มินัล WebSocket (ยืนยันตัวตนด้วย query token)
GET /containers/:id/exec เทอร์มินัล WebSocket ของคอนเทนเนอร์

หมายเหตุ

  • การเขียนทั้งหมดถูกควบคุมโดยจุดสิทธิ์ RBAC (เช่น website.create, container.edit, settings.edit)
  • การดำเนินการสำคัญจะเขียนล็อกการตรวจสอบ คำขอในสถานะล็อกอินจะเขียนล็อกการเข้าถึง