localhost:8123 — Home Assistant
Home Assistant is the most popular open-source home automation platform. Its web interface and REST API both run on port 8123. Whether you install it on a Raspberry Pi, a dedicated x86 box, a VM, or a Docker container, you access it by browsing to the host's IP on port 8123.
Installation Types
| Type | What It Is | Best For |
|---|---|---|
| Home Assistant OS (HAOS) | Full OS image, runs HA + Add-ons + Supervisor | Dedicated hardware (Raspberry Pi, HA Yellow, Odroid) |
| Home Assistant Supervised | HA + Supervisor on Debian, full Add-on support | Existing Debian server, more control |
| Home Assistant Container | Docker container, HA Core only, no Add-ons | Docker-centric setups, advanced users |
| Home Assistant Core | Python venv install, manual everything | Developers, custom setups |
Quick Docker Install
docker run -d \
--name homeassistant \
--privileged \
--restart=unless-stopped \
-e TZ=America/Chicago \
-v /path/to/config:/config \
--network=host \
ghcr.io/home-assistant/home-assistant:stable
After the container starts (takes 1–2 minutes on first run), browse to http://your-server-ip:8123. The onboarding wizard walks through creating your account and initial setup.
Raspberry Pi — Home Assistant OS
# 1. Download HAOS image for your Pi from home-assistant.io/installation
# 2. Flash to SD card with Balena Etcher
# 3. Insert SD, power on Raspberry Pi
# 4. Wait 5-10 minutes for first boot
# 5. Browse to homeassistant.local:8123 (or find IP via router DHCP list)
Remote Access Options
Nabu Casa (Home Assistant Cloud) — Easiest: Settings → Home Assistant Cloud → sign up for $6.50/month. Provides a secure remote URL, no port forwarding or SSL setup needed. Also enables Alexa and Google Assistant voice control without a developer account.
HTTPS + Port Forwarding — Free: Set up an SSL certificate (via Let's Encrypt add-on or DuckDNS add-on), forward port 443 from your router to the HA server's port 8123. Requires a public IP and domain.
Tailscale Add-on — Best free option: Install the Tailscale add-on from the Add-on Store. Tailscale creates a VPN mesh between your devices — access HA from your phone over the Tailscale IP without exposing any ports to the internet.
REST API Quick Reference
# Get entity state (get long-lived access token from Profile > Security)
curl -H "Authorization: Bearer YOUR_TOKEN" \
http://localhost:8123/api/states/sensor.temperature
# Turn on a light
curl -X POST \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"entity_id": "light.living_room"}' \
http://localhost:8123/api/services/light/turn_on
# WebSocket API endpoint
ws://homeassistant.local:8123/api/websocket
Common Ports Used by Home Assistant
| Port | Use |
|---|---|
| 8123 | Web UI and REST API (HTTP) |
| 443 | Web UI over HTTPS (if SSL configured) |
| 1883 | MQTT broker (if Mosquitto add-on installed) |
| 1900 | SSDP/UPnP device discovery |
| 5353 | mDNS (homeassistant.local resolution) |
| 51827 | HomeKit bridge |
Troubleshooting
Cannot reach 8123: Check that HA is running — docker ps for container installs, or check the yellow LED pattern on HA hardware. First boot takes 5–10 minutes. The hostname homeassistant.local requires mDNS support on your network — if it does not resolve, use the IP address directly (find it in your router's DHCP list).
Login loop / "Invalid CSRF token": Access HA over HTTP, not HTTPS unless SSL is configured. If you get this error in a reverse proxy setup, ensure the proxy is passing the correct headers (X-Forwarded-For, X-Forwarded-Proto) and HA's configuration.yaml has the correct trusted_proxies and use_x_forwarded_for settings.
Add-on Store not loading (Container install): The Add-on Store requires Home Assistant Supervised or Home Assistant OS. Container and Core installs do not support add-ons — use standalone Docker containers for Mosquitto, Zigbee2MQTT, etc. instead.