From 1c14446434965f3f2d83917f22a8c3db871d8634 Mon Sep 17 00:00:00 2001 From: Daniel Maksymilian Syrnicki Date: Tue, 28 Apr 2026 12:17:11 +0200 Subject: [PATCH] feat(home-assistant): add smart-home hub to the catalog (closes #1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bridge-mode networking with explicit 8123:8123 port mapping. Image is homeassistant/home-assistant:stable — upstream's recommended production tag, same image as the Docker Hub link in #1. One Docker-managed volume (`furtka_home-assistant_config`). No manifest.settings — onboarding (admin user, home location, units) is the standard Home Assistant in-browser flow on first visit to :8123, same shape as Jellyfin and Uptime Kuma. Cloud integrations (Hue Cloud, Tado, Sonos via account) work today. Local-discovery integrations that need host networking, Bluetooth, or Zigbee/Z-Wave dongle passthrough are explicitly deferred — listed as a follow-up once the manifest schema grows a network_mode knob. Co-Authored-By: Claude Opus 4.7 (1M context) --- CHANGELOG.md | 11 +++++++ apps/home-assistant/docker-compose.yaml | 38 +++++++++++++++++++++++++ apps/home-assistant/icon.svg | 6 ++++ apps/home-assistant/manifest.json | 11 +++++++ 4 files changed, 66 insertions(+) create mode 100644 apps/home-assistant/docker-compose.yaml create mode 100644 apps/home-assistant/icon.svg create mode 100644 apps/home-assistant/manifest.json diff --git a/CHANGELOG.md b/CHANGELOG.md index a6616b3..392d5d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,17 @@ Versioning: CalVer (`YY.N`) — same scheme as the core Furtka repo. ## [Unreleased] +### Added + +- **Home Assistant** (v1.0.0, image `homeassistant/home-assistant:stable`, + daniel/furtka-apps#1). Smart-home hub for lights, sensors, and locally + controlled devices. Bridge-mode networking with explicit `8123:8123` + port mapping for v1 — Cloud integrations (Hue Cloud, Tado, Sonos via + account) work, mDNS/Bluetooth/Zigbee-stick discovery deferred until a + manifest `network_mode` knob lands. One Docker volume (`config`), + no manifest settings — onboarding (admin user, home location, units) + happens in the browser on first visit to `:8123`. + ## [26.11-alpha] - 2026-04-21 ### Fixed diff --git a/apps/home-assistant/docker-compose.yaml b/apps/home-assistant/docker-compose.yaml new file mode 100644 index 0000000..42b720a --- /dev/null +++ b/apps/home-assistant/docker-compose.yaml @@ -0,0 +1,38 @@ +# Furtka Home Assistant — smart-home hub. +# +# Bridge networking + explicit `8123:8123` port mapping. Upstream's own +# docs lean toward `network_mode: host` because that's what mDNS-based +# discovery, Bluetooth, HomeKit, and Zigbee/Z-Wave dongles need. We're +# deliberately starting in bridge mode for v1: it keeps the catalog's +# network model consistent (every other app is bridged), and Cloud-only +# integrations (Hue Cloud, Tado, Sonos via account, etc.) work fine. +# Host networking + USB passthrough is a follow-up once the manifest +# schema grows a `network_mode` knob. +# +# Image pin: `homeassistant/home-assistant:stable` is upstream's +# recommended tag for production — release-train, not bleeding edge. +# Same image as the Docker Hub link Robert pointed at in the new-app +# request (#1). +# +# No HEALTHCHECK override needed: the upstream image's healthcheck is +# tame, and a temporarily-yellow status during the first-boot DB +# migrations is expected behaviour. +# +# No manifest.settings — Home Assistant's onboarding (admin user, home +# location, units) happens entirely in the browser on first visit, just +# like Jellyfin and Uptime Kuma. Nothing for the install form to ask. + +services: + homeassistant: + image: homeassistant/home-assistant:stable + restart: unless-stopped + ports: + - "8123:8123" + environment: + - TZ=Europe/Berlin + volumes: + - furtka_home-assistant_config:/config + +volumes: + furtka_home-assistant_config: + external: true diff --git a/apps/home-assistant/icon.svg b/apps/home-assistant/icon.svg new file mode 100644 index 0000000..83747a1 --- /dev/null +++ b/apps/home-assistant/icon.svg @@ -0,0 +1,6 @@ + diff --git a/apps/home-assistant/manifest.json b/apps/home-assistant/manifest.json new file mode 100644 index 0000000..79daed3 --- /dev/null +++ b/apps/home-assistant/manifest.json @@ -0,0 +1,11 @@ +{ + "name": "home-assistant", + "display_name": "Home Assistant", + "version": "1.0.0", + "description": "Smart-home hub for lights, sensors, and locally controlled devices.", + "description_long": "Steuere Lampen, Heizung, Sensoren und Smart-Home-Geräte von einem zentralen Dashboard aus. Beim ersten Aufruf im Browser unter http://furtka.local:8123 wird das Admin-Konto angelegt und die Wohnung eingerichtet. Zigbee-/Z-Wave-USB-Sticks und automatische Geräteerkennung über mDNS/Bluetooth sind in dieser ersten Version noch nicht verdrahtet — die App läuft im Bridge-Modus auf Port 8123. Cloud-Integrationen (Hue Cloud, Tado, Sonos via Account) funktionieren ohne Einschränkung.", + "volumes": ["config"], + "ports": [8123], + "icon": "icon.svg", + "open_url": "http://{host}:8123/" +}