Cài Home Assistant trên Synology bằng Docker

Cài Home Assistant trên Synology bằng Docker

Dân chơi smart home nào cũng nghe qua ba cách cài Home Assistant lên NAS: chạy VM full HAOS, chạy Supervised qua Docker, hoặc chạy Home Assistant Container bản "core". Bài này chọn thẳng cách thứ ba —

Vì sao chọn Docker Container thay vì VM hay Supervised

Dân chơi smart home nào cũng nghe qua ba cách cài Home Assistant lên NAS: chạy VM full HAOS, chạy Supervised qua Docker, hoặc chạy Home Assistant Container bản "core". Bài này chọn thẳng cách thứ ba — và có lý do, không phải chọn đại cho xong.

Supervised trên Docker của Synology thì bỏ qua luôn cho lành. WunderTech đã thử và xác nhận cách này không hoạt động ổn định trên Synology, khuyên chuyển sang VM nếu cần bản đầy đủ. Vọc cái này rồi đổ tại tay nghề dở là oan — không phải lỗi của bạn.

VM (qua Virtual Machine Manager) thì cho trải nghiệm trọn gói: có Supervisor, có kho Add-on cài một click, backup tích hợp sẵn. Nghe ngon, nhưng đổi lại phải cấp riêng vCPU và RAM cho cả một hệ điều hành ảo hoá chạy trong máy ảo. Với NAS phổ thông 2-4GB RAM — tức đa số anh em đang dùng DS220+, DS223, DS224+ — cõng thêm một VM là hơi quá tải, chưa kể phải bật ảo hoá phần cứng, không phải máy nào cũng hỗ trợ ngon lành.

Home Assistant Container thì nhẹ tênh: một Container Docker chạy phần lõi Home Assistant, không Supervisor, không kho Add-on riêng, nhưng đủ sức cân integration, automation, dashboard — tức 90% nhu cầu thực tế của nhà thông minh Việt Nam. Đổi lại bạn mất khoản tự động cập nhật qua UI (phải update thủ công hoặc dùng Watchtower) và không có kho Add-on tiện tay như Mosquitto, ESPHome build sẵn. Muốn dùng mấy cái đó thì tự chạy container riêng — không khó, chỉ thêm một bước.

Nếu bạn chỉ muốn thao tác 100% qua GUI Container Manager, không đụng SSH, đây là lựa chọn cân bằng nhất giữa nhẹ máy và đủ dùng.

Yêu cầu trước khi bắt đầu

  • NAS chạy DSM 7.2 trở lên — dưới bản này Package Center chỉ có "Docker" chứ chưa có Container Manager với giao diện mới.
  • Ít nhất 1GB RAM rảnh, tốt nhất NAS có từ 2GB RAM trở lên nếu định gắn thêm tích hợp camera hay nhận diện hình ảnh sau này.
  • Đã cài Container Manager từ Package Center (tìm đúng tên, không phải "Docker" cũ).
  • Biết IP của NAS trong mạng LAN.

Các bước cài đặt

Bước 1: Tạo thư mục lưu cấu hình

Mở File Station, tạo shared folder tên docker nếu chưa có, rồi tạo thư mục con homeassistant/config bên trong. Đường dẫn đầy đủ: /volume1/docker/homeassistant/config. Đây là nơi Home Assistant lưu toàn bộ cấu hình, database lịch sử, file backup — mất thư mục này là mất sạch, nhớ kỹ vị trí.

Bước 2: Tải image

Vào Container Manager → tab Registry, gõ homeassistant/home-assistant, tải tag stable. Đây là image trên Docker Hub, hoạt động tốt và là cách nhanh nhất qua GUI.

Muốn bám sát khuyến nghị chính thức của Home Assistant thì họ ưu tiên image trên GitHub Container Registry: ghcr.io/home-assistant/home-assistant:stable. Dùng bản này thì vào Registry → Settings → thêm registry mới với URL ghcr.io, rồi tìm lại. Nội dung hai bản như nhau, khác chỗ lưu trữ — không cần xoắn nếu không có nhu cầu đặc biệt.

Bước 3: Tạo container

Chọn image vừa tải, bấm Launch để mở wizard tạo container. Điền các mục sau:

  • Tên container: đặt gì cũng được, ví dụ homeassistant.
  • Network: chỗ quan trọng nhất bài này — chọn "Use same network as Docker Host" (host network), KHÔNG để mặc định bridge.
  • Volume: mount /volume1/docker/homeassistant/config vào /config trong container.
  • Environment: thêm biến TZ = Asia/Ho_Chi_Minh.

Vì sao phải chọn host network? Home Assistant sống nhờ mDNS/Zeroconf/SSDP để tự dò thiết bị trong mạng — đèn Xiaomi, loa Sonos, Chromecast, TV thông minh... Mấy giao thức này gửi gói tin multicast, mà bridge network của Docker mặc định chặn sạch loại gói này. Kết quả: bạn add integration xong ngồi chờ "device discovered" đến mòn mỏi, tưởng máy lỗi nhưng thực ra do chọn sai network mode ngay từ đầu. Host network thì container dùng chung network stack với NAS, mDNS chạy xuyên suốt, khỏi cần map port thủ công vì container coi như "là" NAS về mặt mạng.

Bấm Apply, khởi động container. Xong bước này coi như qua được cửa ải khó nhằn nhất.

Bước 4: Mở firewall

Nếu Control Panel → Security → Firewall đang bật, thêm rule cho phép port 8123 (TCP). Bước này rất dễ quên vì container chạy ngon, log không báo lỗi gì, nhưng máy khác trong mạng không kết nối vào được — nhìn cứ tưởng container die trong khi nó khỏe re.

Bước 5: Onboarding

Mở trình duyệt, gõ http://<IP-NAS>:8123. Lần đầu Home Assistant dẫn bạn qua vài bước: tạo tài khoản admin, chọn tên nhà, vị trí địa lý và múi giờ. Xong là có giao diện dùng được ngay.

Kiểm tra và automation thực tế cho nhà Việt

Vào được dashboard rồi, việc đầu tiên nên làm là add integration cho thiết bị đang có. Vài combo phổ biến ở Việt Nam:

  • Local Tuya / Smart Life: cài qua HACS, dùng cho thiết bị rebrand nền Tuya — Vconnex, Bkav SmartHome, và vô số đèn/ổ cắm không tên tuổi trên Shopee đều chung lõi này. Ưu tiên chế độ local control thay vì qua cloud, vừa nhanh vừa khỏi phụ thuộc server Trung Quốc lúc mất mạng.
  • Xiaomi Home / Aqara: với cảm biến, công tắc Zigbee thì dùng ZHA hoặc Zigbee2MQTT.

Vài automation dễ làm ngay để thấy giá trị hệ thống:

  • Bật đèn khi cảm biến chuyển động kích hoạt, chỉ chạy sau giờ hoàng hôn.
  • Điều khiển điều hoà bật/tắt theo ngưỡng nhiệt độ và độ ẩm từ cảm biến.
  • Tự tắt thiết bị công suất lớn vào khung giờ cao điểm EVN để né giá điện bậc thang.
  • Gửi cảnh báo qua Telegram bot — thực tế hơn Zalo nhiều vì Zalo không có integration notify chính thức trong Home Assistant.

Lỗi thường gặp

| Lỗi                              | Nguyên nhân                             | Cách xử lý                                        |
| -------------------------------- | --------------------------------------- | ------------------------------------------------- |
| Không tìm thấy thiết bị          | Dùng bridge network                     | Đổi sang host network                             |
| Unable to connect từ máy khác    | Chưa mở port 8123 trên Firewall DSM     | Thêm rule Firewall                                |
| Automation chạy sai giờ          | Thiếu biến TZ                           | Thêm env TZ=Asia/Ho_Chi_Minh                      |
| Permission denied khi lưu config | User/group NAS không khớp quyền thư mục | Chỉnh quyền thư mục config                        |
| Update dính lỗi                  | Dùng tag latest tự update               | Pin version, đọc release notes trước khi nâng cấp |

Một cạm bẫy khác đáng nói riêng: có dongle Zigbee/Z-Wave USB kiểu ConBee hay Sonoff Zigbee thì đừng cắm thẳng vào NAS rồi mong Container Manager tự nhận diện. GUI của Container Manager không hỗ trợ USB passthrough — muốn dùng phải SSH vào nạp kernel module như usbserial, ftdi_sio, cdc_acm, mà việc này đi ngược tinh thần "không SSH" của cách cài này. Giải pháp gọn hơn nhiều: dùng coordinator Zigbee gắn mạng LAN như SLZB-06, kết nối qua IP thay vì cắm USB trực tiếp vào NAS. Vừa né SSH, vừa đặt coordinator ở chỗ phủ sóng tốt hơn là nhét sau lưng NAS.

Bảo mật và bảo trì

Đừng bao giờ port-forward 8123 thẳng ra Internet qua router. Cổng mở toang ngoài internet là mời gọi quét lỗ hổng, chưa kể Home Assistant điều khiển cả khoá cửa, camera trong nhà — không phải chỗ để đùa. Dùng VPN kiểu Tailscale/WireGuard để truy cập từ xa an toàn, hoặc dùng Nabu Casa Cloud — dịch vụ chính chủ của Home Assistant, có mã hoá sẵn và tiện tích hợp luôn Google Assistant/Alexa nếu cần.

Backup nên làm hai lớp, đừng chỉ tin một chỗ:

  • Lớp 1: vào Settings → System → Backups trong Home Assistant, tạo backup định kỳ, file .tar nằm trong /config/backups.
  • Lớp 2: dùng Hyper Backup sao lưu toàn bộ thư mục docker/homeassistant — gồm cả file backup ở lớp 1 — ra một đích ngoài NAS như cloud, USB rời, hoặc NAS thứ hai. Lớp này cứu bạn khi cả ổ cứng NAS chết hẳn.

File backup .tar của Home Assistant chứa token, API key của các dịch vụ cloud như Xiaomi, Tuya nằm trong secrets.yaml.storage. Bật mã hoá khi Hyper Backup đẩy ra ngoài, đừng để file này trôi nổi ở đâu không kiểm soát được.

Cập nhật image định kỳ để vá lỗi bảo mật, nhưng đọc changelog trước khi nhảy qua bản lớn. Ổ cứng nào rồi cũng có ngày chết, automation nào rồi cũng có ngày dính breaking change — chỉ là bạn có chuẩn bị trước hay không thôi.

Mua NAS chính hãng

Xem tất cả →

Thiết bị NAS Synology & ổ cứng chính hãng Nhật Bản — tư vấn cấu hình, lắp đặt và bảo hành. Mua qua Shopee, giao toàn quốc.

No comments yet