Docker Projects on Iris
Last updated 05/11/2026 · docker, iris, home-assistant
Compose projects in /data/docker on iris (192.168.68.63 / iris.local, tailnet 100.64.0.3), state verified 2026-10-25 by listing every container: 9 project dirs, all 9 running, nothing dormant. Like metis, iris has no reverse proxy: services are plain containers on the LAN (docker ps --format ...), reached by LAN IP or tailnet IP; only Traefik-fronted access is via handtrixxx.com’s forwarders. Low-power box (2 cores, 16 GB) - keep workloads light.
| Project | Container(s) | Image | Ports | Notes |
|---|---|---|---|---|
HomeAssistant |
homeassistant |
ghcr.io/home-assistant/home-assistant:stable |
8123 | On iris since 2026-10-21 (moved from metis); config ./config, ConBee II Zigbee stick plugged in here, /run/dbus for ZHA, touchscreen kiosk. REST http://127.0.0.1:8123, HASS_TOKEN in /data/ai-persistence/.env; automations via skill home-assistant |
voice |
whisper, piper, openwakeword |
rhasspy/wyoming-whisper, -piper, -openwakeword | 10300, 10200, 10400 - only on 127.0.0.1 | Moved from metis 2026-10-23; deliberately loopback-only because HA is on the same box; whisper threads 2, mem_limit 5g (~1.7 GiB used); the three HA Wyoming entries point at localhost |
frigate |
frigate |
ghcr.io/blakeblackshear/frigate:stable |
5000 (UI), 8554/8555 (camera streams, also UDP 8555), 8971 | Config ./config, recordings ./storage; publishes detections to MQTT |
mqtt |
mosquitto |
eclipse-mosquitto:2 |
1883 | Frigate → Home Assistant bridge |
MusicAssistant |
music-assistant-server |
ghcr.io/music-assistant/server |
8095 | Exposed publicly as music.handtrixxx.com (handtrixxx.com socat forwarder → 100.64.0.3:8095) |
adguard |
adguard |
adguard/adguardhome |
81 (UI, mapped from container 80), 53 DNS, 443/853 DoH/DoT, 3000/5443 | Homelab DNS resolver; no public router route - reachable LAN or 100.64.0.3:81 (old docs said 100.64.0.6, that node does not exist) |
metube |
metube |
alexta69/metube |
8081 (host-net) | Video downloader moved here from handtrixxx.com 2026-10-04; egress through the iris tailscale node’s SOCKS5 :1055 |
backrest |
backrest-backrest-1 |
garethgeorge/backrest |
9898 (UI) | Backup client for the iris restic repo → rest-server on Pi hestia; compose.yaml.bak-pre-pi is the pre-Pi config. See backup-scenario-restic |
arcane-agent |
arcane-agent |
ghcr.io/getarcaneapp/agent:latest |
3553 | Arcane remote agent (added 2026-10-26) so docker.handtrixxx.com manages iris’ containers/projects; see memory arcane-remote-environments |
tailscale |
tailscale-iris + forward-calibre, forward-jellyfin, forward-sabnzbd, forward-nzbhydra |
tailscale/tailscale + 4× alpine/socat |
host-net, socat listens 8083/8096/8089/5076 | This is iris’s only tailnet client (no host tailscaled); it offers an exit node and forwards handtrixxx.com services locally: 8083→100.64.0.2:8083 (calibre), 8096→100.64.0.2:8096 (jellyfin), 8089→100.64.0.2:8080 (sabnzbd), 5076→100.64.0.2:5076 (nzbhydra) |
What is NOT on iris (common assumption)
- No LLM server - llama runs on metis (
:8000); iris reaches it over the tailnet. The voice stack here is whisper/piper/openwakeword only. - No MCP/memory server -
mcp.handtrixxx.com(Alexandria) is offline; KB access is the git repo/data/ai-persistenceand the/kbmount. - No OpenCode / Hermes / urbackup - all retired (urbackup server deleted 2026-10-21).
- No Traefik - don’t add Traefik labels on iris; use LAN/tailnet ports or a handtrixxx.com forwarder.
Source: Wiki.js