Docker
คู่มือการติดตั้ง CUBE OS โดยใช้ Docker บนระบบ Linux
ติดตั้ง CUBE OS เป็นคอนเทนเนอร์ Docker บนโฮสต์ Linux วิธีนี้ใช้งานได้ดีสำหรับเซิร์ฟเวอร์ที่บ้าน อุปกรณ์ NAS และเครื่อง Linux ที่เปิดตลอดเวลา
1. การเตรียมการ
ตรวจสอบสถาปัตยกรรมของโฮสต์
CUBE Docker รองรับสถาปัตยกรรม Linux เหล่านี้:
amd64 (
x86_64) — พีซี เซิร์ฟเวอร์ Synology NAS และอุปกรณ์ที่คล้ายกันarm64 (
aarch64) — Raspberry Pi 4/5, Orange Pi และโฮสต์ ARM อื่นๆ
ตรวจสอบเวอร์ชันเคอร์เนล Linux
เคอร์เนล 4.15 หรือใหม่กว่า
uname -rNAS บางรุ่นมาพร้อมเคอร์เนลเวอร์ชันเก่า เช่น 4.4.x. โฮสต์เหล่านี้ไม่เข้ากันได้กับ CUBE Docker ในกรณีนั้น ให้รัน CUBE OS ในเครื่องเสมือน Linux แทน
ติดตั้ง Docker Engine
ติดตั้ง Docker Engine บนโฮสต์ก่อนดำเนินการต่อ
ตรวจสอบพอร์ตที่จำเป็น
ตรวจสอบให้แน่ใจว่าพอร์ต 80 และ 1883 ว่างอยู่บนโฮสต์
sudo lsof -i :80
sudo lsof -i :188380 — เว็บ UI ของ CUBE OS
1883 — บรอกเกอร์ MQTT
หากมีบริการอื่นใช้งานพอร์ตเหล่านี้ ให้หยุดบริการนั้นก่อน
เตรียมดองเกิล Zigbee หากจำเป็น
หากคุณวางแผนจะเพิ่มอุปกรณ์ Zigbee ให้เชื่อมต่อดองเกิล Zigbee ที่รองรับเข้ากับโฮสต์
ดองเกิล Zigbee ที่ทดสอบแล้ว ได้แก่:
SONOFF ZBDongle-MAX SONOFF ZBDongle-PMG24 SONOFF ZBDongle-LMG21 SONOFF ZBDongle-E SONOFF ZBDongle-P รายการอื่น ๆ โดยนักพัฒนา @darkxst
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรองรับ Zigbee โปรดดู คู่มือนี้.
2. ดึงอิมเมจ
ดาวน์โหลดอิมเมจล่าสุด
docker pull ghcr.io/ewelinkcube/cube-os:latest
3. เริ่ม CUBE OS
สร้างไดเรกทอรีข้อมูล
mkdir -p ~/cubeos-dataไดเรกทอรีนี้ใช้เก็บอุปกรณ์ ฉาก และการตั้งค่าของคุณ
ตรวจสอบพาธของอุปกรณ์ Zigbee หากคุณใช้งานอยู่ (ไม่บังคับ)
พาธอุปกรณ์ที่พบบ่อยคือ:
ls /dev/ttyUSB* /dev/ttyACM*ใช้พาธที่ถูกต้องในคำสั่งถัดไป
เริ่มคอนเทนเนอร์
ใช้คำสั่งนี้เป็นพื้นฐาน:
docker run -d \
--name cubeos \
--privileged \
--net=host \
-v ~/cubeos-data:/data \
--device /dev/ttyUSB0:/dev/ttyUSB0 \
-v /run/dbus/system_bus_socket:/host_dbus/system_bus_socket:ro \
ghcr.io/ewelinkcube/cube-os:latest
ทำความเข้าใจพารามิเตอร์หลัก
--privileged— จำเป็นสำหรับการเข้าถึงฮาร์ดแวร์--net=host— จำเป็นสำหรับการค้นหาอุปกรณ์ใน LAN และ MQTT-v ~/cubeos-data:/data— เก็บข้อมูลของคุณไว้หลังคอนเทนเนอร์รีสตาร์ต--device /dev/ttyUSB0:/dev/ttyUSB0— ส่งผ่านดองเกิล Zigbee-v /run/dbus/system_bus_socket:/host_dbus/system_bus_socket:ro— เปิดใช้งานการเข้าถึง D-Bus สำหรับฟีเจอร์ที่รองรับ
4. เข้าถึง CUBE OS
ยืนยันว่าคอนเทนเนอร์กำลังทำงานอยู่
docker psสถานะคอนเทนเนอร์ควรแสดง Up.
เปิดเว็บ UI
เปิดเบราว์เซอร์บนเครือข่ายเดียวกันแล้วไปที่ที่อยู่ใดที่อยู่หนึ่งต่อไปนี้:
http://<HOST_IP>/
แทนที่ <HOST_IP> ด้วยที่อยู่ IP ของโฮสต์ Linux
ใช้ที่อยู่ภายในเครื่องแบบสั้นในภายหลัง
หลังตั้งค่าเสร็จ คุณสามารถดูรหัสย่อได้ที่หน้าการตั้งค่า
จากนั้นคุณสามารถใช้ cube-{short-id}.local เพื่อระบุอินสแตนซ์ CUBE OS นี้บน LAN ของคุณ
5. อัปเดต CUBE OS
การติดตั้งใช้งาน Docker ไม่รองรับการอัปเดต OTA จากเว็บ UI
หากต้องการอัปเดตด้วยตนเอง:
ข้อมูลของคุณยังคงอยู่ใน ~/cubeos-dataดังนั้นอุปกรณ์ ฉาก และการตั้งค่าจะยังคงอยู่หลังการอัปเดต
6. ข้อจำกัด
เนื่องจากการแยกตัวของคอนเทนเนอร์ ฟีเจอร์เหล่านี้จึงไม่พร้อมใช้งานในการติดตั้งใช้งาน Docker:
ส่วนเสริม — ไม่สามารถติดตั้งหรือจัดการส่วนเสริมได้
ลำโพงบลูทูธ — ไม่รองรับการส่งผ่านบลูทูธ
อัปเดตระบบ — ปิดใช้งานการอัปเดต OTA ในเว็บ UI
รีบูต / ปิดเครื่อง — ไม่สามารถใช้การควบคุมพลังงานระดับระบบได้
7. หมายเหตุสำหรับ Raspberry Pi
หากคุณรัน Docker บน Raspberry Pi โปรดตรวจสอบว่าขนาดหน้าเพจคือ 4096:
อัปเดตล่าสุด