{% extends "base.html" %}{% block title %}ระบบและอัปเดต{% endblock %}{% block content %}

ตรวจระบบ / ติดตั้ง / อัปเดต

ภาพรวมระบบ

Web Guardian
{% if system.guardian %}พร้อม — Guardian {{ system.guardian.guardian_version }} | {{ system.guardian.backend }}{% else %}ยังไม่ทำงาน — การอัปเดตเว็บอาจทำให้ reverse proxy เห็น backend ขาดช่วง{% endif %}
Web Manager
{{ system.web_version }} | กำลังตรวจรุ่นล่าสุดเบื้องหลัง…
TTUHelper
{{ system.helper_version or 'ยังไม่ติดตั้ง' }} | กำลังตรวจรุ่นล่าสุดเบื้องหลัง…
SNTalkBot image
กำลังตรวจเวอร์ชันเบื้องหลัง… | กำลังตรวจรุ่นบน GitHub…
Instance root
{{ system.bots_root }}

หน้าเว็บพร้อมใช้งานแล้ว การตรวจรุ่นล่าสุดทำต่อเบื้องหลังและไม่บล็อกเมนู

ติดตั้งครั้งแรก/ซ่อม Core Stack

ระบบจะตรวจ git, curl, python3 และ Docker ก่อนทุกครั้ง แล้วติดตั้งเฉพาะสิ่งที่ยังไม่มี จากนั้นติดตั้ง/ซ่อม Core Stack และ doctor โดยแสดงผลแบบ realtime ในหน้า Job

อัปเดต

การอัปเดตแต่ละส่วนใช้ action เดิมทั้งหมด เพียงจัดกลุ่มให้อยู่ในแท็บนี้

GitHub Release Webhook / แจ้งรุ่นใหม่

Webhook receiver
{% if webhook.configured %}พร้อม{% else %}ยังไม่พร้อม{% endif %}
Payload URL
{{ webhook.callback_url }}
Repository
{{ webhook.repository }}
GitHub ติดต่อครั้งล่าสุด
{% if webhook.last.received_at %}{{ webhook.last.received_at }} — {{ webhook.last.event or 'event' }}{% if webhook.last.version %} {{ webhook.last.version }}{% endif %}{% if webhook.last.accepted %} — รับแล้ว; ส่งต่อ {{ webhook.last.delivered or 0 }}/{{ webhook.last.attempted or 0 }} instance{% elif webhook.last.reason %} — {{ webhook.last.reason }}{% endif %}{% else %}ยังไม่เคยได้รับ webhook ที่ลงลายเซ็นถูกต้อง{% endif %}

ตั้ง Webhook ที่ GitHub repository {{ webhook.repository }} เพียงครั้งเดียว โดยเลือก event Releases หลังจากนั้น Full Publish จะ push version tag และ GitHub จะสร้าง Release/ส่ง webhook อัตโนมัติ

{% if release_bots %}

Manager/Full ที่พบ: {% for bot in release_bots %}{{ bot.name }} ({{ 'เปิด' if bot.enabled and bot.broadcast_enabled else 'ยังไม่เปิด' }}){% if not loop.last %}, {% endif %}{% endfor %}

หากค่าเปิดอยู่แล้ว ระบบจะไม่ restart ซ้ำโดยไม่จำเป็น; การเปลี่ยนค่าที่รองรับจะถูก apply ผ่าน loopback API ทันที

{% else %}

ยังไม่พบ Manager/Full instance

{% endif %}

Cookies เริ่มต้นและทุก Player/Full

เวลาล้างแคชเริ่มต้น

ค่าเริ่มต้นบันทึกใน SQLite ของ Manager และใช้กับตัวใหม่ที่สร้างผ่านเว็บ เลือกช่องด้านบนเพื่อปรับตัวเดิมด้วย Playlist จะคงอยู่

อัปโหลดครั้งเดียวเพื่อใช้กับ Player/Full ทุกตัวและเป็นค่าเริ่มต้นสำหรับตัวใหม่ บอทรุ่นใหม่อ่านไฟล์ล่าสุดเมื่อค้นหาหรือเล่นเพลงครั้งถัดไป โดยไม่ต้องหยุดเพลงปัจจุบัน

ความใหม่วัดจากเวลารับไฟล์ ไม่ใช่วันหมดอายุ โปรดส่งออก session ล่าสุดก่อนอัปโหลด ระบบไม่สามารถต่ออายุบัญชี YouTube แทนการเข้าสู่ระบบได้

หลาย Instance

เมนูนี้มีเฉพาะ Super Admin งานสิทธิ์ root จะผ่าน privileged bridge ที่มี allowlist ไม่ได้เปิด root terminal ให้หน้าเว็บ

{% endblock %}