Home Assistant on Raspberry Pi: Complete Server Setup
Two Ways to Run It
- Home Assistant OS (recommended for most people): A full appliance image — flash it, boot it, everything (including the add-on store, Supervisor, automatic backups) just works. This is what HA's own docs push you toward and for good reason.
- Home Assistant Container: Just the core running in Docker on top of an existing OS — more flexible if the Pi is already doing other things, but you lose the Supervisor/add-on ecosystem.
HA OS Install
- Download the Raspberry Pi image from home-assistant.io (pick the right one for your Pi model).
- Flash with Raspberry Pi Imager or balenaEtcher — no need to pre-configure anything, HA OS handles first-boot setup itself.
- Boot it, wait ~10-20 minutes for first-boot provisioning (it's doing a lot under the hood), then hit http://homeassistant.local:8123.
- Onboarding wizard creates your admin account and does an initial device scan.
Hardware Notes
- Pi 4 with 4GB+ RAM is the realistic minimum for a smooth experience once you add a handful of integrations.
- Boot from USB SSD instead of SD card if at all possible — HA writes to its database constantly (state history, logbook) and SD cards degrade under that write pattern within a year or two.
- If you're using Zigbee or Z-Wave, get a proper USB coordinator stick (SkyConnect, ConBee II, Aeotec) rather than relying on Pi's onboard radios — range and reliability are both much better.
First Integrations to Add
Settings > Devices & Services > Add Integration. HA auto-discovers most things on your LAN (Chromecasts, smart plugs, printers) — you'll often see a notification suggesting integrations before you even go looking.
Backups
HA OS has built-in automated backups (Settings > System > Backups) — set a schedule and target (local, or upload to Google Drive/Samba via an add-on) immediately. Config drift over months of tweaking is real, and restoring from a snapshot beats rebuilding automations from memory.
Remote Access
Don't port-forward 8123 directly to the internet. Use HA's official Nabu Casa Cloud subscription (supports the project, handles TLS/auth properly), or self-host with a reverse proxy + VPN (WireGuard) if you want it free and are comfortable managing the security yourself.
Related Guides
- Running Home Assistant on a Raspberry Pi 4
- Zigbee and Z-Wave on Raspberry Pi: Adding Zigbee2MQTT and Z-Wave JS to Home Assistant
- Setting Up a Raspberry Pi as a Matter and Thread Border Router for Your Smart Home
- Setting Up WireGuard VPN Server on Raspberry Pi
- Running a Minecraft Server on Raspberry Pi 5
- ESPHome and Home Assistant Beginner Guide: Build Your First WiFi Sensor
- Raspberry Pi Security Camera/NVR with Frigate
- Tying It Together: Pi + ESP32 + Flipper Home Automation Hub