ไฟล์กำหนดค่าหลัก¶
OpsMini ใช้ไฟล์กำหนดค่า YAML หลังติดตั้งด้วยสคริปต์ทางการ ตำแหน่งเริ่มต้นคือ /data/opsmini/config.yaml; เมื่อรันจากซอร์สโค้ด ตำแหน่งเริ่มต้นคือ configs/config.yaml ทั้งสองสามารถระบุด้วยพารามิเตอร์ -config เมื่อไม่มีไฟล์กำหนดค่า โปรแกรมจะเริ่มทำงานด้วยค่าเริ่มต้นในตัว
ตัวอย่างที่แจกมาพร้อมแพ็กเกจทางการได้ลดให้เหลือการกำหนดค่าขั้นต่ำที่รันได้ การกำหนดค่ารันไทม์ที่เหลือ (AI, Agent token, การยืนยันตัวตนมอนิเตอร์ ฯลฯ) ได้ย้ายไปยังหน้า "การตั้งค่า" ของพาเนลแล้ว
# ไฟล์กำหนดค่า OpsMini Agent
server:
host: "0.0.0.0" # ที่อยู่ที่ listen
port: 8888 # พอร์ตที่ listen
secret_entry: "" # คำนำหน้าพาธจุดเข้าความปลอดภัย เช่น /opsmini_panel (เว้นว่างคือไม่เปิดใช้)
database:
path: "opsmini.db" # พาธไฟล์ข้อมูล SQLite
jwt:
access_ttl_seconds: 900 # อายุ access token (15 นาที)
refresh_ttl_seconds: 604800 # อายุ refresh token (7 วัน)
log:
level: error # ระดับล็อก: info / warn / error
path: "" # พาธไฟล์ล็อก เว้นว่างคือแสดงเฉพาะ stdout (systemd journal)
คำอธิบายรายการกำหนดค่า¶
server¶
| พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
host |
ที่อยู่ที่ listen 0.0.0.0 หมายถึงทุกการ์ดเครือข่าย |
0.0.0.0 |
port |
พอร์ตที่ listen | 8888 |
secret_entry |
คำนำหน้าพาธจุดเข้าความปลอดภัย เช่น /opsmini_panel เว้นว่างคือไม่เปิดใช้ |
ว่าง |
เมื่อกำหนดค่า secret_entry แล้ว พาเนลและ API ทั้งหมดจะอยู่ภายใต้พาธคำนำหน้า (เช่น http://<host>:8888/opsmini_panel) ใช้ร่วมกับ reverse proxy เพื่อซ่อนจุดเข้าจริง ป้องกันการสแกนพอร์ตและการโจมตีแบบ brute force
database¶
| พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
path |
พาธไฟล์ข้อมูล SQLite | opsmini.db |
jwt¶
| พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
access_ttl_seconds |
อายุ access token (วินาที) | 900 |
refresh_ttl_seconds |
อายุ refresh token (วินาที) | 604800 |
คีย์สำหรับเซ็น JWT ไม่อยู่ในที่นี้แล้ว ตอนเริ่มครั้งแรกจะสร้างคีย์สุ่มขนาด 32 ไบต์โดยอัตโนมัติและเก็บถาวรในฐานข้อมูล ไม่เขียนลงไฟล์กำหนดค่าและไม่แสดงในอินเทอร์เฟซ ไม่ต้องดูแลรักษาเอง
log¶
| พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
level |
ระดับล็อก: info / warn / error |
error |
path |
พาธไฟล์ล็อก เว้นว่างคือแสดงเฉพาะ stdout (systemd journal) | ว่าง |
ระดับล็อกควบคุมความละเอียดของเอาต์พุต: error แสดงเฉพาะข้อผิดพลาด (แนะนำสำหรับ production หลีกเลี่ยงล็อกคิวรี SQL เต็มจอ); warn เพิ่มการแสดง slow query และคำเตือน; info แสดงล็อกทั้งหมด (รวมคิวรี SQL เหมาะสำหรับการตรวจสอบปัญหา) การติดตั้งแบบคลิกเดียวเขียนไปที่ /data/opsmini/opsmini.log เป็นค่าเริ่มต้น
ส่วนกำหนดค่าทางเลือก¶
ฟิลด์ต่อไปนี้ยังคงรองรับในโครงสร้างการกำหนดค่า แต่ตัวอย่างทางการละไว้ (ใช้ค่าเริ่มต้นในตัว) สามารถประกาศอย่างชัดเจนได้ตามต้องการ
agent (ไวท์ลิสต์คำสั่ง)¶
agent:
allowed_commands: # คำนำหน้าคำสั่งไวท์ลิสต์ของ Agent API
- ps
- df
- free
- uptime
- docker
- systemctl
- nginx
- who
| พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
allowed_commands |
คำนำหน้าคำสั่งไวท์ลิสต์ที่อนุญาตให้ /agent/v1/commands รัน |
ดูด้านบน |
agent.tokenถูกยกเลิกแล้ว token สำหรับการยืนยันตัวตนของ Agent API เปลี่ยนไปสร้างและจัดการในหน้า "การตั้งค่า → API Token" ของพาเนล การปล่อยว่างคือปิดใช้งาน Agent API
metrics (Prometheus metrics)¶
metrics:
enabled: true # เปิดใช้งานเอนด์พอยต์ /metrics หรือไม่
user: "" # ชื่อผู้ใช้ Basic authentication เว้นว่างคือไม่มีการยืนยันตัวตน
password: "" # รหัสผ่าน Basic authentication
| พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
enabled |
เปิดใช้งานเอนด์พอยต์ /metrics หรือไม่ |
true |
user |
ชื่อผู้ใช้ HTTP Basic authentication เว้นว่างคือไม่มีการยืนยันตัวตน | ว่าง |
password |
รหัสผ่าน HTTP Basic authentication | ว่าง |
ลำดับความสำคัญของข้อมูลรับรอง: ชื่อผู้ใช้/รหัสผ่านใน "การตั้งค่า → การส่งออกมอนิเตอร์" ของพาเนล มีลำดับความสำคัญสูงกว่า
user/passwordที่นี่ การปล่อยชื่อผู้ใช้ว่างคือเปิดการเข้าถึงสาธารณะ
การกำหนดค่าที่ย้ายไปยังการตั้งค่าพาเนล¶
รายการกำหนดค่าต่อไปนี้ถูกย้ายออกจาก config.yaml แล้ว จัดการอย่างเป็นเอกภาพในหน้า "การตั้งค่า" ของพาเนล (เก็บใน SQLite มีผลทันทีตอนรันไทม์):
| การกำหนดค่าเดิม | ตำแหน่งจัดการปัจจุบัน | คำอธิบาย |
|---|---|---|
jwt.secret |
สร้างอัตโนมัติ (ไม่ต้องจัดการ) | ตอนเริ่มครั้งแรกสร้างคีย์สุ่มเก็บในฐานข้อมูล |
ai.* |
การตั้งค่า → การเชื่อมต่อโมเดล AI | โมเดล / API Key / Base URL / สวิตช์เปิดใช้ |
agent.token |
การตั้งค่า → API Token | access token ของ Agent API ปล่อยว่างคือปิดใช้งาน |
metrics.user/password |
การตั้งค่า → การส่งออกมอนิเตอร์ | เขียนทับค่าในไฟล์กำหนดค่าได้ตอนรันไทม์ |
ดูรายละเอียดที่ การตั้งค่าพาเนล
ตัวแปรสภาพแวดล้อม¶
| ตัวแปร | คำอธิบาย |
|---|---|
OPSMINI_AI_KEY |
AI API Key มีลำดับความสำคัญสูงสุด (สูงกว่าการตั้งค่าพาเนลและไฟล์กำหนดค่า เพื่อหลีกเลี่ยงการเก็บคีย์ลงดิสก์) |
พารามิเตอร์บรรทัดคำสั่ง¶
| พารามิเตอร์ | คำอธิบาย |
|---|---|
-config <path> |
ระบุพาธไฟล์กำหนดค่า (ติดตั้งแบบคลิกเดียวเริ่มต้น /data/opsmini/config.yaml รันจากซอร์สเริ่มต้น configs/config.yaml) |
-version |
แสดงข้อมูลเวอร์ชันแล้วออก |
-reset-mfa <username> |
รีเซ็ตการผูก MFA ของผู้ใช้ที่ระบุ (ใช้เมื่อทำรหัสยืนยันหาย) แล้วออก |
-reset-pass <username> |
รีเซ็ตรหัสผ่านผู้ใช้ที่ระบุเป็นรหัสผ่านสุ่มที่แข็งแรงแล้วแสดง แล้วออก |
-reset-mfa/-reset-passดำเนินการกับฐานข้อมูลโดยตรง ไม่เริ่มบริการ ใช้สำหรับกู้คืนบัญชีที่สูญหาย