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

ไฟล์กำหนดค่าหลัก

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 ดำเนินการกับฐานข้อมูลโดยตรง ไม่เริ่มบริการ ใช้สำหรับกู้คืนบัญชีที่สูญหาย