Smart Home Stack Installation
This guide covers the Smart Home stack used for home automation and household inventory.
Overview
| Component | Purpose | Port | URL |
|---|---|---|---|
| Home Assistant | Home automation hub | 8123 | ha.ravenhelm.dev |
| Grocy | Household inventory and chores | 80 | grocy.ravenhelm.dev |
Prerequisites
Before deploying the Smart Home Stack:
- Prerequisites completed
- Core Stack running (Traefik)
ravenhelm_netnetwork exists
Directory Structure
mkdir -p ~/ravenhelm/services/{homeassistant,grocy}
mkdir -p ~/ravenhelm/data/{homeassistant,grocy}
Step 1: Deploy Home Assistant
Create ~/ravenhelm/services/homeassistant/docker-compose.yml:
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
container_name: homeassistant
restart: unless-stopped
privileged: true
networks:
- ravenhelm_net
environment:
- TZ=America/Chicago
volumes:
- /Users/ravenhelm/ravenhelm/data/homeassistant:/config
labels:
- "traefik.enable=true"
- "traefik.http.routers.homeassistant.rule=Host(`ha.ravenhelm.dev`)"
- "traefik.http.routers.homeassistant.entrypoints=websecure"
- "traefik.http.routers.homeassistant.tls.certresolver=letsencrypt"
- "traefik.http.services.homeassistant.loadbalancer.server.port=8123"
networks:
ravenhelm_net:
external: true
Start Home Assistant:
cd ~/ravenhelm/services/homeassistant
docker compose up -d
Step 2: Deploy Grocy
Create ~/ravenhelm/services/grocy/docker-compose.yml:
version: "3.9"
services:
grocy:
image: lscr.io/linuxserver/grocy:latest
container_name: grocy
restart: unless-stopped
networks:
- ravenhelm_net
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
volumes:
- ../../data/grocy:/config
labels:
- "com.ravenhelm.service=grocy"
- "traefik.enable=true"
- "traefik.http.routers.grocy.rule=Host(`grocy.ravenhelm.dev`)"
- "traefik.http.routers.grocy.entrypoints=websecure"
- "traefik.http.routers.grocy.tls.certresolver=letsencrypt"
- "traefik.http.services.grocy.loadbalancer.server.port=80"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:80"]
interval: 30s
timeout: 10s
retries: 3
networks:
ravenhelm_net:
external: true
Start Grocy:
cd ~/ravenhelm/services/grocy
docker compose up -d
Verification
- Home Assistant:
https://ha.ravenhelm.dev - Grocy:
https://grocy.ravenhelm.dev