ข้ามไปเนื้อหาหลัก

Homepage v2.2.0: แดชบอร์ดรวมบริการ Self-Hosted

เจาะลึกการติดตั้ง Homepage v2.2.0 แดชบอร์ดกลางสำหรับรวมลิงก์บริการ Self-Hosted พร้อมเช็กสถานะ Docker สดๆ ผ่านไฟล์ YAML และ Traefik

เรียบเรียงโดย AI
Inewgen
23 Sep 2026ที่มา: Dev.to3 นาทีอ่าน (0 ครั้ง)
แชร์
Homepage v2.2.0: แดชบอร์ดรวมบริการ Self-Hosted

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • Homepage v2.2.0 คือแดชบอร์ดกลางสำหรับรวบรวมลิงก์และไอคอนบริการ Self-Hosted ทั้งหมดไว้ในหน้าเดียว
  • ตั้งค่าและจัดการโครงสร้างทั้งหมดผ่านไฟล์ YAML ล้วน ไม่มีฐานข้อมูล ใช้ทรัพยากรน้อย
  • ฟีเจอร์เด่นอ่าน Docker socket แบบเรียลไทม์เพื่อแสดงสถานะการทำงานของคอนเทนเนอร์
  • เวอร์ชัน 2 มาพร้อมระบบล็อกอินในตัวเพื่อความปลอดภัยในการเข้าถึงแดชบอร์ดผ่านอินเทอร์เน็ต

เมื่อคุณใช้งานระบบ Self-Hosted มากขึ้นเรื่อยๆ สิ่งที่ตามมาคือความยุ่งยากในการจำที่อยู่ไอพีและบุ๊กมาร์กจำนวนมาก แดชบอร์ดจึงเข้ามาแก้ปัญหานี้ด้วยหน้าแรกเพียงหน้าเดียวที่รวบรวมทุกลิงก์ แสดงภาระงานของระบบ และตรวจสอบได้ทันทีว่ามีคอนเทนเนอร์ตัวไหนกำลังรันอยู่บ้าง โดยเครื่องมือที่โดดเด่นและรวดเร็วที่สุดในตอนนี้คือ Homepage เวอร์ชัน 2.2.0 ที่ทำงานเบื้องหลัง Traefik และกำหนดค่าทุกอย่างผ่านไฟล์ YAML อย่างง่ายดาย

การสร้างหน้าแดชบอร์ดกลางนี้เริ่มต้นด้วยการสร้างโครงสร้างโฟลเดอร์สำหรับเก็บไฟล์คอนฟิกและไอคอน โดยใช้คำสั่งสร้างไดเรกทอรีที่จำเป็นผ่านเทอร์มินัล จากนั้นจึงเริ่มตั้งค่าไฟล์หลักอย่าง config/settings.yaml เพื่อควบคุมรูปลักษณ์และเลย์เอาต์ของหน้าจอ ซึ่งในตัวอย่างจะมีการแบ่งกลุ่มบริการออกเป็นหมวดหมู่ Infrastructure และ Media ในรูปแบบแถวที่มี 3 คอลัมน์ต่อแถว โดยชื่อกลุ่มเหล่านี้จะต้องตรงกับไฟล์บริการอย่างแม่นยำ

dashboard user interface software screen

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

หัวใจสำคัญของระบบคือไฟล์ config/services.yaml ซึ่งทำหน้าที่สร้างไทต์หรือกล่องทางลัดสำหรับแต่ละบริการ โดยแต่ละรายการจะระบุชื่อ URL คำอธิบาย และไอคอนที่ระบบจะดึงมาจากแคตตาล็อกให้อัตโนมัติ เช่น การเชื่อมต่อบริการ Nextcloud, Vaultwarden, Immich และ Jellyfin เข้ามาไว้ในที่เดียว ทำให้ผู้ใช้งานสามารถเข้าถึงระบบคลาวด์ส่วนตัว โปรแกรมจัดการรหัสผ่าน เซิร์ฟเวอร์รูปภาพ และสตรีมมิ่งมีเดียได้อย่างสะดวกสบายในหน้าเดียว

การใช้งานแดชบอร์ดลักษณะนี้ไม่เพียงแต่ช่วยจัดระเบียบหน้าจอเบราว์เซอร์ แต่ยังเพิ่มประสิทธิภาพในการมอนิเตอร์สถานะเซิร์ฟเวอร์บ้าน (Home Server) โดยไม่ต้องเปิดหลายแท็บ การใช้สถาปัตยกรรมแบบไม่มีฐานข้อมูล (Statically generated) ทำให้ระบบมีความเสถียรสูง โหลดเร็ว และใช้ทรัพยากรฮาร์ดแวร์น้อยมาก เหมาะสำหรับผู้ที่รันเซิร์ฟเวอร์บนเครื่องจำกัดทรัพยากรอย่าง Raspberry Pi หรือมินิพีซี

ในส่วนของการแสดงผลข้อมูลแถบด้านบน (Info bar) สามารถปรับแต่งได้ผ่านไฟล์ config/widgets.yaml เพื่อแสดงผลการใช้งานทรัพยากรระบบ เช่น ซีพียู หน่วยความจำ และพื้นที่ดิสก์ รวมถึงกล่องค้นหาจาก DuckDuckGo และนาฬิกาบอกเวลา นอกจากนี้ Homepage ยังสามารถดึงข้อมูลซีพียูและแรมตรงจากภายในคอนเทนเนอร์ได้ทันทีโดยไม่ต้องพึ่งพา Docker socket ในขั้นตอนนี้

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

ขั้นตอนต่อมาคือการสร้างไฟล์ compose.yaml เพื่อรันบริการผ่าน Docker โดยต้องระบุตัวแปรสำคัญคือ HOMEPAGE_ALLOWED_HOSTS ให้ตรงกับโดเมนจริงของคุณ เนื่องจากตั้งแต่เวอร์ชัน 1.x เป็นต้นมา ระบบจะปฏิเสธคำขอจากชื่อโฮสต์ที่ไม่รู้จักเพื่อป้องกันปัญหา DNS Rebinding ซึ่งจะส่งผลให้แสดงข้อผิดพลาด HTTP 400 หากไม่ได้กำหนดค่านี้ให้ถูกต้อง

v2.2.0เวอร์ชันล่าสุดของ Homepage
32ตัวอักษรขั้นต่ำสำหรับรหัสผ่าน Auth Secret

ฟีเจอร์ที่ทรงพลังที่สุดของ Homepage คือความสามารถในการอ่านสถานะจาก Docker โดยตรงเพื่อดูว่าคอนเทนเนอร์ตัวไหนกำลังทำงานอยู่ พร้อมทั้งแสดงการใช้ทรัพยากรแยกตามรายคอนเทนเนอร์ โดยต้องสร้างไฟล์ config/docker.yaml และทำการเมาท์ซ็อกเก็ตแบบอ่านอย่างเดียว (Read-only) เข้าไปในคอนเทนเนอร์ผ่านไฟล์ compose เพื่อความปลอดภัย เนื่องจาก Docker socket เทียบเท่ากับการมีสิทธิ์รูทบนเครื่องโฮสต์

ปิดท้ายด้วยการตั้งค่าระบบล็อกอินซึ่งเพิ่มเข้ามาตั้งแต่เวอร์ชัน 2 เป็นต้นมา เพื่อป้องกันไม่ให้แดชบอร์ดถูกเปิดทิ้งไว้บนอินเทอร์เน็ตโดยไม่มีการป้องกัน โดยจะต้องสร้างไฟล์ .env สำหรับเก็บคีย์ลับ HOMEPAGE_AUTH_SECRET ที่มีความยาวอย่างน้อย 32 ตัวอักษร พร้อมทั้งกำหนดรหัสผ่านสำหรับการใช้งาน

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้