در این مقاله، به صورت گام‌به‌گام نحوه شروع کار با Home Assistant در بستر Docker را بررسی می‌کنیم. ابتدا پیش‌نیازهای نصب Docker را بر اساس سیستم‌عامل شما مرور می‌کنیم، سپس روش نصب و اجرای Home Assistant از طریق خط فرمان (CLI) را آموزش خواهیم داد. در پایان نیز به راه‌حل برخی از خطاها و مشکلات رایج در زمان نصب می‌پردازیم.


Docker چیست؟

Docker یک پلتفرم قدرتمند برای توسعه‌دهندگان و مدیران سیستم است که امکان ساخت، اجرای و استقرار برنامه‌ها را در قالب کانتینر (Container) فراهم می‌سازد. کانتینر محیطی ایزوله‌شده است که تمامی نیازمندی‌های نرم‌افزار شامل کتابخانه‌ها، کدها، ابزارهای سیستمی و پیکربندی‌ها را در خود جای می‌دهد؛ به‌طوری‌که برنامه در هر محیطی (صرف‌نظر از سیستم‌عامل میزبان) دقیقاً همان‌طور اجرا می‌شود که توسعه داده شده است.

کانتینرها از ایمیج (Image) ساخته می‌شوند که در واقع قالب اولیه و قابل تکرار اجرای یک برنامه است. مهم‌ترین مزیت Docker این است که اجرای برنامه‌ها در هر محیطی را بدون نگرانی از ناسازگاری‌های سیستمی ممکن می‌سازد و در عین حال مدیریت و مقیاس‌پذیری آن‌ها را نیز ساده‌تر می‌کند.


Home Assistant چیست؟

Home Assistant یک پلتفرم متن‌باز و قدرتمند برای کنترل و خودکارسازی خانه هوشمند است. این سیستم از بیش از ۱۰۰۰ دستگاه و سرویس مختلف (مانند Amazon Alexa، Google Assistant، Philips Hue و…) پشتیبانی می‌کند و امکان مدیریت کامل تجهیزات خانه مانند چراغ‌ها، دوربین‌ها، ترموستات‌ها و سنسورها را به شما می‌دهد.

رابط کاربری تحت وب Home Assistant بسیار ساده و کاربردی طراحی شده و امکان ساخت سناریوها و اتوماسیون‌های پیچیده را به سادگی فراهم می‌کند. همچنین توسعه‌دهندگان می‌توانند با استفاده از API داخلی پایتون (Home Assistant Python API)، دستگاه‌ها را از طریق اسکریپت‌های پایتون کنترل و مدیریت کنند.


چرا Home Assistant را روی Docker اجرا کنیم؟

اجرای Home Assistant در Docker یک روش رایج و توصیه‌شده است؛ چرا که:

  • نرم‌افزار به‌صورت کامل از سیستم میزبان و سایر برنامه‌ها ایزوله می‌شود.

  • قابلیت انتقال آسان به سیستم‌های دیگر را دارد؛ تنها کافی‌ست Docker روی سیستم مقصد نصب باشد.

  • نصب و راه‌اندازی بسیار ساده و سریع است.

  • اجرای Home Assistant در محیط Docker باعث افزایش امنیت و ثبات عملکرد آن می‌شود.

در مجموع، Docker راهی منعطف و قابل اعتماد برای استفاده از Home Assistant فراهم می‌کند.


پیش‌نیازهای نصب Docker

برای استفاده از Docker، سیستم شما باید دارای حداقل مشخصات زیر باشد که بسته به نوع سیستم‌عامل متفاوت است:

✅ ویندوز:

  • ویندوز ۱۰ یا ۱۱ نسخه ۶۴ بیتی

  • پردازنده ۶۴ بیتی

  • حداقل ۴ گیگابایت رم

  • فعال بودن قابلیت مجازی‌سازی در BIOS

  • فعال بودن WSL 2 (Windows Subsystem for Linux)

✅ macOS:

  • نسخه ۱۱ یا بالاتر از macOS

  • حداقل ۴ گیگابایت رم

  • عدم نصب VirtualBox نسخه پایین‌تر از 4.3.30 (به دلیل ناسازگاری با Docker Desktop)

✅ لینوکس:

  • CPU و کرنل ۶۴ بیتی

  • پشتیبانی از مجازی‌سازی KVM

  • فعال بودن سیستم init (systemd یا مشابه آن)

  • استفاده از محیط دسکتاپ Gnome، MATE یا KDE

  • حداقل ۴ گیگابایت رم

  • فعال بودن قابلیت ID Mapping در User Namespace


نحوه نصب Docker

برای نصب Docker، ابتدا به سایت رسمی Docker به آدرس https://www.docker.com مراجعه کنید. بسته نصب مناسب سیستم‌عامل خود را دانلود کرده و مراحل نصب را دنبال کنید. در مراحل بعدی، دستورهای لازم برای اجرای Home Assistant در محیط Docker را به‌صورت کامل توضیح خواهیم داد.

download-docker

نحوه نصب Docker بر اساس سیستم‌عامل

نصب Docker به سیستم‌عامل دستگاه شما بستگی دارد. در ادامه، مراحل کلی نصب Docker روی Windows، macOS و Linux آورده شده است. برای اطلاعات کامل‌تر و دقیق‌تر، می‌توانید به وب‌سایت رسمی Docker مراجعه کنید.


🪟 نصب Docker در ویندوز

  1. به وب‌سایت Docker مراجعه کرده و نسخه Docker Desktop for Windows را دانلود کنید.

  2. پس از اتمام دانلود، روی فایل نصبی دوبار کلیک کنید تا فرآیند نصب آغاز شود.

  3. مراحل نصب را طبق راهنما دنبال کرده و گزینه‌های پیشنهادی را تأیید کنید.

  4. پس از نصب موفق، برنامه Docker Desktop در بخش System Tray (کنار ساعت ویندوز) قابل دسترسی خواهد بود.


🍎 نصب Docker در macOS

  1. وارد وب‌سایت Docker شوید و نسخه Docker Desktop for Mac (Apple Chip) را دانلود کنید (در صورت استفاده از تراشه‌های M1/M2 اپل).

  2. پس از دانلود، فایل DMG را باز کرده و آیکون Docker را به پوشه Applications بکشید.

  3. سپس از مسیر Applications برنامه Docker را اجرا کنید.

  4. پس از اجرای موفق، آیکون Docker در نوار منو (بالای صفحه) نمایش داده خواهد شد.


🐧 نصب Docker در لینوکس

فرآیند نصب Docker در لینوکس ممکن است بسته به توزیع شما (مانند Ubuntu، Debian یا Fedora) کمی متفاوت باشد، اما مراحل کلی به صورت زیر است:

  1. به وب‌سایت Docker مراجعه کرده و نسخه Docker Desktop for Linux را انتخاب کنید.

  2. دستورالعمل‌های مرتبط با توزیع لینوکسی خود را (مانند Ubuntu) دنبال کنید.

  3. پس از نصب موفق، برنامه Docker Desktop را از طریق منوی اپلیکیشن‌ها جستجو و اجرا نمایید.


آموزش نصب Home Assistant در محیط Docker

برای نصب Home Assistant روی Docker روش‌های مختلفی وجود دارد، اما در این راهنما از ساده‌ترین روش یعنی استفاده از خط فرمان (CLI) استفاده می‌کنیم.


🖥 اجرای ترمینال در سیستم‌عامل‌های مختلف

  • ویندوز: در نوار جستجوی Start عبارت cmd را وارد کرده و روی “Command Prompt” کلیک کنید.

  • لینوکس: از منوی برنامه‌ها، Terminal را جستجو و اجرا کنید.

  • macOS: کلید‌های ترکیبی Cmd + Space را فشار دهید، عبارت Terminal را وارد کرده و از نتایج روی Terminal کلیک کنید.


🔹 مرحله اول: دریافت ایمیج Home Assistant از Docker Hub

قبل از شروع، مطمئن شوید که Docker فعال و در حال اجراست. سپس، در ترمینال دستور زیر را وارد کنید:

docker pull homeassistant/home-assistant

این دستور، آخرین نسخه پایدار از ایمیج Home Assistant را از Docker Hub (مخزن رسمی تصاویر Docker) دانلود می‌کند.

پس از اجرای دستور، خروجی مشابه زیر را دریافت خواهید کرد:

Using default tag: latest
latest: Pulling from homeassistant/home-assistant
...
Status: Downloaded newer image for homeassistant/home-assistant:latest

✅ در مرحله بعد، باید یک کانتینر از این ایمیج اجرا کنیم، مسیرهای ذخیره‌سازی اطلاعات را مشخص کنیم و پورت‌ها را تنظیم کنیم تا بتوانید از Home Assistant در مرورگر خود استفاده کنید.

docker-home-assistant

مرحله دوم: نصب و اجرای کانتینر Home Assistant

برای نصب و اجرای کانتینر Home Assistant، دستور زیر را در ترمینال وارد کنید:

docker run -d --name=homeassistant -v your_home_directory:/config --net=host homeassistant/home-assistant

توضیح بخش‌های مختلف دستور بالا:

  • docker run -d: دستور docker run برای اجرای یک کانتینر استفاده می‌شود. گزینه -d به این معناست که کانتینر در حالت پس‌زمینه (detached mode) اجرا شود، یعنی در حالی که ترمینال شما آزاد باقی می‌ماند، کانتینر در پس‌زمینه اجرا خواهد شد.

  • --name=homeassistant: با استفاده از این گزینه، نام کانتینر را مشخص می‌کنید. در اینجا نام کانتینر homeassistant انتخاب شده که می‌توانید در دستورات بعدی Docker از آن استفاده کنید.

  • -v: این گزینه برای تعیین حجم (volume) مورد استفاده کانتینر است. باید مسیر پوشه‌ای که می‌خواهید فایل‌های تنظیمات Home Assistant در آن ذخیره شود را مشخص کنید. به‌عنوان مثال، اگر در ویندوز هستید، می‌توانید در درایو C پوشه‌ای به نام homeassistant ایجاد کنید. در این صورت، مسیر نهایی شما به شکل زیر خواهد بود:

C:\homeassistant:/config

بنابراین کل دستور به شکل زیر خواهد بود:

docker run -d --name=homeassistant -v C:\homeassistant:/config --net=host homeassistant/home-assistant

🔹 توجه: اگر از لینوکس یا مک استفاده می‌کنید، به‌جای مسیر ویندوزی، مثلاً از مسیر زیر استفاده کنید:

-v /home/username/homeassistant:/config
  • --net=host: این گزینه باعث می‌شود کانتینر از شبکه‌ی میزبان (host) استفاده کند و یک namespace جداگانه ایجاد نشود. این کار دسترسی بهتر Home Assistant به دستگاه‌های متصل به شبکه را فراهم می‌کند.

  • homeassistant/home-assistant: این همان نام ایمیج Docker است که در مرحله قبل آن را از Docker Hub دریافت کردیم.


پس از اجرای موفق این دستور، خروجی‌ای مشابه زیر خواهید دید که نشان‌دهنده‌ی اجرای صحیح کانتینر است:

a7c8e84b3645f3b6c3dbe8149ef3450f6f13adbbde5eb2b3c3c2c3c7a60e5eac

این رشته‌ی طولانی شناسه (ID) کانتینر شماست.

home-assistant-output

مرحله ۳: بررسی اجرای کانتینر Home Assistant در Docker
برای اطمینان از اینکه کانتینر Home Assistant به‌درستی در Docker اجرا شده، برنامه Docker را باز کنید. در صورت موفقیت‌آمیز بودن راه‌اندازی، خروجی مشابه تصویر زیر مشاهده خواهید کرد:

home-assistant-container

مرحله ۴: وارد Home Assistant شوید
در قسمت پایین تب Actions، منوی سه‌نقطه‌ای وجود دارد که در تصویر زیر مشاهده می‌کنید. روی آن کلیک کنید.

home-assistant-menu

پس از کلیک روی آن، خروجی مطابق شکل زیر نمایش داده می‌شود. برای باز کردن راحت و سریع صفحه وب خود، گزینه «Open with browser» را انتخاب کنید.

home-assistant-open-browser

تبریک می‌گویم! اکنون Home Assistant شما با موفقیت راه‌اندازی شده و همان‌طور که در تصویر زیر می‌بینید، آماده استفاده است. حالا می‌توانید به مرحله ایجاد حساب کاربری بروید.

home-assistant-create-account

اجرای Home Assistant روی Docker و به صورت مستقل

اجرای Home Assistant داخل Docker با اجرای آن به صورت سرویس مستقل تفاوت چشمگیری دارد.

اجرای Home Assistant به صورت سرویس مستقل یعنی نرم‌افزار مستقیماً روی سیستم شما نصب شده و برای اجرا نیازی به Docker نیست. در مقابل، اجرای Home Assistant روی Docker یعنی اجرای آن در محیطی کانتینری که از سیستم میزبان و سایر کانتینرها جدا و ایزوله است و منابع مورد نیازش به صورت مجزا تامین می‌شود.

مزیت اجرای مستقل این است که نصب و مدیریت آن ساده‌تر است چون لایه‌های انتزاعی اضافی وجود ندارد و نرم‌افزار مستقیماً با سیستم عامل میزبان تعامل دارد. اما نقطه ضعف آن، محدودیت در قابلیت حمل (Portability) و نیاز به تلاش بیشتر برای نگهداری و به‌روزرسانی است.

از سوی دیگر، اجرای Home Assistant روی Docker نصب و مدیریت را بسیار ساده‌تر می‌کند، چرا که تمام وابستگی‌ها، منابع و تنظیمات از قبل در ایمیج Docker گنجانده شده‌اند. با این حال، راه‌اندازی ممکن است کمی پیچیده‌تر باشد و عیب‌یابی مشکلات نیز به دلیل تفاوت محیط کانتینر با میزبان دشوارتر است.


مشکلات رایج هنگام استفاده از Docker

مشکل ۱: طولانی شدن زمان راه‌اندازی Docker
پس از نصب، ممکن است Docker Engine زمان زیادی برای شروع به کار صرف کند. برای رفع این مشکل، ابتدا Docker را با دسترسی مدیر (Administrator) ببندید و مجدداً اجرا کنید. سپس در ترمینال دستور زیر را وارد کنید تا Daemon فعال شود:

cd C:\Program Files\Docker\Docker
./DockerCli.exe -SwitchDaemon

مشکل ۲: خطای “Error During Connect”
برای رفع این خطا کافی است همان دستور بالا را مجدداً اجرا کنید.

مشکل ۳: مطمئن نبودن از اجرای کانتینر
اگر بعد از اجرای کانتینر مطمئن نیستید که کانتینر شما در حال اجرا است، می‌توانید دستور زیر را در ترمینال اجرا کنید:

docker inspect homeassistant

این دستور تمام اطلاعات ضروری درباره وضعیت کانتینر را به شما نمایش می‌دهد.


خلاصه

Home Assistant نرم‌افزاری است که به شما امکان کنترل و اتوماسیون دستگاه‌های هوشمند منزل مانند دوربین‌ها، ترموستات‌ها، چراغ‌ها و حسگرها را می‌دهد. Docker نیز پلتفرمی است که نرم‌افزارهایی مانند Home Assistant را در قالب کانتینرهای ایزوله شده اجرا می‌کند. استفاده از Docker باعث می‌شود نصب نرم‌افزار بدون مشکل ناسازگاری با سیستم میزبان انجام شود.

برای اجرای Home Assistant روی Docker، از خط فرمان سیستم میزبان استفاده می‌کنیم و مراحل زیر را طی می‌کنیم:

  1. دانلود آخرین نسخه پایدار Home Assistant از Docker Hub

  2. نصب و راه‌اندازی کانتینر Home Assistant

  3. باز کردن برنامه Docker برای تایید اجرای کانتینر

  4. ورود به Home Assistant

بدون نظر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *