Home Lab on TrueNAS
Self-hosted services on a TrueNAS server at home — Home Assistant, a Minecraft server, DNS filtering and a private media server — monitored and controlled from my website's admin console without opening a single inbound port.

- Client
- Personal project
- Period
- 09/2026 - present
- Built with
Secure remote control
- An agent on the NAS pushes status every minute and long-polls for commands; every request is signed with HMAC-SHA256 over the timestamp, nonce, path and body.
- The agent runs unprivileged in a read-only container with no capabilities. A separate root helper never touches the network and only runs a fixed allowlist of commands with regex-checked arguments, plus a kill switch.
- 21 commands from the admin console; sensitive ones need a fresh MFA or passkey check, are audited, and return secrets only once.
Smart home
- A custom Home Assistant integration (about 1,700 lines of Python) for a smart-home cloud API: switches, dimmers, curtains, locks, gates, sensors and scenes.
- Signed webhooks through a tunnel that exposes only the webhook path, so state arrives within about a second.
- Everything appears in Apple Home and Siri through the HomeKit bridge; doors and gates need a per-device opt-in before they can be controlled.
Game server
- A pinned, whitelisted Minecraft server with scheduled backups and ZFS snapshots, and a Discord notifier for joins, deaths, lag and backup results.
Quality
- About 90 offline tests across the agent, helper and integration.