วิธีติดตั้งและกำหนดค่า Home Assistant บน Raspberry Pi ด้วย Docker‑Compose อย่างปลอดภัย

ที่มาภาพ: Unknown Source

วิธีติดตั้งและกำหนดค่า Home Assistant บน Raspberry Pi ด้วย Docker‑Compose อย่างปลอดภัย

⚡ สรุป 30 วิ

Home Assistant เป็นแพลตฟอร์มอัตโนมัติที่ทำงานบน Raspberry Pi ได้อย่างเต็มประสิทธิภาพ การใช้ Docker‑Compose ช่วยให้คุณจัดการคอนเทนเนอร์ได้ง่ายและสามารถอัปเดตแยกส่วนโดยไม่กระทบระบบอื่น ๆ **ความปลอดภัย**…

ภาพรวม — Overview

Home Assistant เป็นแพลตฟอร์มอัตโนมัติที่ทำงานบน Raspberry Pi ได้อย่างเต็มประสิทธิภาพ การใช้ Docker‑Compose ช่วยให้คุณจัดการคอนเทนเนอร์ได้ง่ายและสามารถอัปเดตแยกส่วนโดยไม่กระทบระบบอื่น ๆ ความปลอดภัย จะเป็นหัวใจสำคัญเมื่อเปิดบริการสู่เครือข่ายภายในบ้าน

  • แยก Home Assistant ออกจากระบบปฏิบัติการหลัก
  • ควบคุมเวอร์ชันและการตั้งค่าผ่านไฟล์ `docker‑compose.yml`
  • สามารถเพิ่มมาตรการรักษาความปลอดภัยได้ตามต้องการ

เตรียมอุปกรณ์และซอฟต์แวร์ — Prerequisites

ก่อนเริ่มติดตั้งควรตรวจสอบว่ามีอุปกรณ์และซอฟต์แวร์พื้นฐานครบถ้วน การเตรียมพร้อมนี้จะลดโอกาสเกิดข้อผิดพลาดระหว่างขั้นตอน

  • Raspberry Pi 4 (หรือรุ่นที่มี RAM ≥2 GB)
  • MicroSD ความจุขั้นต่ำ 16 GB, ควรเป็นแบบ Class 10 หรือเร็วกว่า
  • Power supply ที่ให้ไฟแรงอย่างน้อย 3 A
  • ระบบปฏิบัติการ Raspberry Pi OS Lite (64‑bit แนะนำ)
  • การเชื่อมต่ออินเทอร์เน็ตที่เสถียร

ติดตั้งระบบปฏิบัติการบน Raspberry Pi — Install OS

ดาวน์โหลดอิมเมจของ Raspberry Pi OS Lite จากเว็บไซต์ทางการแล้วใช้เครื่องมืออย่าง Raspberry Pi Imager หรือ balenaEtcher บันทึกลง microSD ทำตามขั้นตอนต่อไปนี้เพื่อให้พร้อมใช้งาน

  • **ขั้นตอนที่ 1: ใส่ microSD ลงในคอมพิวเตอร์และเปิดโปรแกรม Imager
  • **ขั้นตอนที่ 2: เลือก “Raspberry Pi OS Lite (64‑bit)” และเลือกไดรฟ์ของ microSD
  • **ขั้นตอนที่ 3: คลิก “Write” รอให้การเขียนเสร็จสมบูรณ์
  • **ขั้นตอนที่ 4: ถอด microSD ใส่กลับเข้า Pi แล้วเชื่อมต่อแหล่งไฟและเครือข่าย

ติดตั้ง Docker และ Docker‑Compose — Install Docker & Compose

หลังจากบูตระบบเข้าสู่ command line ให้ทำตามคำสั่งด้านล่างเพื่อเตรียม Docker บน Pi การใช้สคริปต์อย่างเป็นทางการช่วยลดขั้นตอนและตรวจสอบความเข้ากันได้อัตโนมัติ

  • **ขั้นตอนที่ 1: รัน `curl -fsSL https://get.docker.com | sh` เพื่อติดตั้ง Docker Engine
  • **ขั้นตอนที่ 2: เพิ่มผู้ใช้ `pi` เข้าในกลุ่ม docker ด้วยคำสั่ง `sudo usermod -aG docker pi`
  • **ขั้นตอนที่ 3: ลง Docker‑Compose เวอร์ชันล่าสุด

```bash VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f4) sudo curl -L "https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m)" \ -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ```

  • **ขั้นตอนที่ 4: ตรวจสอบการติดตั้งด้วย `docker version` และ `docker-compose version`

สร้างไฟล์ docker‑compose.yml สำหรับ Home Assistant — Create compose file

สร้างโฟลเดอร์เก็บคอนฟิกและไฟล์ `docker-compose.yml` ที่ตำแหน่ง `/home/pi/homeassistant` ตัวอย่างไฟล์ด้านล่างกำหนดเครือข่าย, โวลุ่มข้อมูล, และพอร์ตที่ต้องการเปิดให้เข้าถึง

```yaml version: "3.8" services: homeassistant: container_name: homeassistant image: ghcr.io/home-assistant/home-assistant:stable restart: unless-stopped privileged: true # ต้องใช้เพื่อเข้าถึงอุปกรณ์ฮาร์ดแวร์บางอย่าง network_mode: host # ใช้โหมด host เพื่อให้ Home Assistant ควบคุมอุปกรณ์บน LAN ได้เต็มที่ volumes:

  • ./config:/config # โฟลเดอร์ config ที่เก็บข้อมูลและ integrations

environment:

  • TZ=Asia/Bangkok

```

บันทึกไฟล์แล้วทำการ `chmod 755` เพื่อให้ Docker‑Compose สามารถอ่านได้

ปรับแต่งการตั้งค่าความปลอดภัย — Secure Configuration

แม้ว่า Home Assistant จะรันในคอนเทนเนอร์ แต่การเปิดพอร์ตแบบ host mode ทำให้ต้องมีมาตรการป้องกันเพิ่มเติมเพื่อไม่ให้ผู้ใช้ที่ไม่ได้รับอนุญาตเข้าถึงระบบ

  • สร้างผู้ใช้ `homeassistant` ที่ไม่มีสิทธิ์ sudo ใช้ `adduser --system homeassistant`
  • ตั้งค่า ไฟร์วอลล์ ด้วย `ufw` ปิดพอร์ตทั้งหมดแล้วเปิดเฉพาะ 8123 (หรือพอร์ต HTTPS) เท่านั้น

```bash sudo ufw default deny incoming sudo ufw allow from 192.168.0.0/24 to any port 8123 comment "Home Assistant UI" sudo ufw enable ```

  • ใช้ TLS เพื่อเข้ารหัสการสื่อสาร โดยทำตามขั้นตอนต่อไปนี้
**Tip: หากต้องการใบรับรองจาก Let's Encrypt ให้ใช้คอนเทนเนอร์ `caddy` หรือ `nginx-proxy` ควบคู่กับ Docker‑Compose แล้วตั้งค่าให้รีไดเรกต์ HTTP HTTPS อัตโนมัติ
  • เก็บรหัสผ่านและโทเค็นในไฟล์ `.env` แยกออกจาก `docker-compose.yml` และกำหนดสิทธิ์เป็น `600`

เริ่มต้นคอนเทนเนอร์และตรวจสอบสถานะ — Run & Verify

เมื่อทุกอย่างพร้อม ให้สั่งให้ Docker‑Compose ดึงอิมเมจและสร้างคอนเทนเนอร์

  • **ขั้นตอนที่ 1: ไปยังโฟลเดอร์ `homeassistant` แล้วรัน `docker-compose up -d`
  • **ขั้นตอนที่ 2: ตรวจสอบว่าคอนเทนเนอร์ทำงานโดยใช้ `docker ps | grep homeassistant`
  • **ขั้นตอนที่ 3: เปิดเว็บเบราว์เซอร์ไปที่ `http://<IP ของ Pi>:8123` เพื่อเริ่มการตั้งค่าแรกของ Home Assistant

หากพบข้อผิดพลาด ให้ดูล็อกด้วยคำสั่ง `docker logs -f homeassistant`

การอัปเดตและบำรุงรักษา — Update & Maintenance

การอัปเดต Docker image เป็นวิธีที่ปลอดภัยที่สุด เพราะคอนเทนเนอร์ใหม่จะทำงานบนฐานโค้ดล่าสุดโดยไม่กระทบไฟล์ config

  • ดึงเวอร์ชันล่าสุดด้วย `docker pull ghcr.io/home-assistant/home-assistant:stable`
  • ปิดคอนเทนเนอร์ปัจจุบัน `docker-compose down`
  • เริ่มใหม่ด้วย `docker-compose up -d` ระบบจะใช้อิมเมจที่ดึงมาใหม่โดยอัตโนมัติ

ควรสำรองไฟล์ `config` อย่างสม่ำเสมอ สามารถทำได้ด้วย cron job หรือ rsync ไปยัง NAS / Google Drive

เปรียบเทียบวิธีติดตั้ง Home Assistant — Comparison

วิธีการความยืดหยุ่นการจัดการเวอร์ชันการใช้ทรัพยากร
Docker‑Compose (นี้)สูง (สามารถเพิ่มปลั๊กอิน, ปรับเครือข่าย)ง่าย (pull image แล้วรีสตาร์ท)ต่ำถึงปานกลาง
Home Assistant OS (Hass.io)จำกัด (โครงสร้างระบบเป็นแบบ all‑in‑one)แพคเกจอัตโนมัติสูงกว่าเล็กน้อย

Docker‑Compose ให้คุณควบคุมทุกขั้นตอนและเพิ่มชั้นความปลอดภัยได้ตามต้องการ

สรุป — Summary

  • เตรียม Raspberry Pi, microSD, ระบบ OS Lite แล้วติดตั้ง Docker + Docker‑Compose
  • สร้างไฟล์ `docker-compose.yml` โดยใช้โหมด host เพื่อให้ Home Assistant เข้าถึงอุปกรณ์ทั้งหมดได้
  • ปรับความปลอดภัยด้วยผู้ใช้ระบบ, ไฟร์วอลล์, TLS และจัดการ secrets อย่างแยกไฟล์
  • เริ่มคอนเทนเนอร์ด้วย `docker-compose up -d` ตรวจสอบผ่านเว็บ UI ที่พอร์ต 8123
  • อัปเดตโดยดึง image ใหม่และรีสตาร์ท คัดลอกข้อมูล config เป็นประจำ

ทำตามขั้นตอนเหล่านี้ คุณจะได้ Home Assistant ทำงานบน Raspberry Pi อย่างมั่นคง ปลอดภัย และพร้อมขยายต่อในอนาคต.

แชร์บทความนี้:

ชอบบทความแบบนี้?

สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม

แหล่งข่าวต้นฉบับ

ชื่อต้นฉบับ
วิธีติดตั้งและกำหนดค่า Home Assistant บน Raspberry Pi ด้วย Docker‑Compose อย่างปลอดภัย
ผู้เขียน
กองบรรณาธิการ Thai Tech News
แหล่ง
บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
วันที่เผยแพร่
21 สิงหาคม 2569 เวลา 19:51

Related

บทความที่เกี่ยวข้อง

วิธีตั้งค่า Sandboxed Python Environment ด้วย pyenv‑virtualenv บน Windows เพื่อความปลอดภัยGrowth
21 สิงหาคม 2569 เวลา 18:30

วิธีตั้งค่า Sandboxed Python Environment ด้วย pyenv‑virtualenv บน Windows เพื่อความปลอดภัย

การสร้างสภาพแวดล้อม Python ที่ทำงานแบบ sandboxed ช่วยให้คุณรันโค้ดจากแหล่งที่ไม่เชื่อถือได้โดยไม่เสี่ยงต่อระบบหลักของ Windows ​คอมพิวเตอร์ ​บทความนี้จะแนะนำวิธีตั้งค่า **pyenv‑virtualenv** บน Windows…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ8 นาที
วิธีตั้งค่า Git Hook เพื่อตรวจสอบคุณภาพโค้ดก่อน Commit อย่างปลอดภัยGrowth
21 สิงหาคม 2569 เวลา 12:30

วิธีตั้งค่า Git Hook เพื่อตรวจสอบคุณภาพโค้ดก่อน Commit อย่างปลอดภัย

Git Hook คือสคริปต์ที่ทำงานอัตโนมัติเมื่อเกิดเหตุการณ์บางอย่างในระบบเวอร์ชันคอนโทรล เช่น `pre‑commit` หรือ `post‑merge` การใช้ Hook ช่วยให้เราตรวจสอบคุณภาพโค้ดก่อนที่การเปลี่ยนแปลงจะถูกบันทึกเข้าสู่ r…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ7 นาที
วิธีตั้งค่า Windows Terminal พร้อมโปรไฟล์ PowerShell เพื่อเพิ่มประสิทธิภาพการทำงานGrowth
21 สิงหาคม 2569 เวลา 11:00

วิธีตั้งค่า Windows Terminal พร้อมโปรไฟล์ PowerShell เพื่อเพิ่มประสิทธิภาพการทำงาน

การใช้ Windows Terminal ร่วมกับ PowerShell เป็นวิธีที่ทำให้การทำงานบนคอมพิวเตอร์เร็วขึ้นและเป็นระเบียบมากยิ่งขึ้น บทความนี้จะแนะนำขั้นตอนตั้งค่าโปรไฟล์ PowerShell อย่างละเอียด เพื่อเพิ่มประสิทธิภาพในก…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ7 นาที
วิธีเชื่อมต่อ Google Cloud BigQuery กับ Power BI โดยใช้ Direct Query อย่างปลอดภัยGrowth
20 สิงหาคม 2569 เวลา 18:30

วิธีเชื่อมต่อ Google Cloud BigQuery กับ Power BI โดยใช้ Direct Query อย่างปลอดภัย

การเชื่อมต่อ Google Cloud BigQuery กับ Power BI ด้วยโหมด **Direct Query** ช่วยให้ผู้ใช้สามารถดึงข้อมูลสดจากคลังข้อมูลขนาดใหญ่ได้โดยไม่ต้องทำการนำเข้าข้อมูลลงเครื่องมือ BI อีกครั้ง ทำให้งานรายงานเป็นแบ…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ7 นาที
คัดลอกลิงก์แล้ว!