All projects

Personal project09/2026 - present

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.

Home Lab on TrueNAS
Client
Personal project
Period
09/2026 - present
Built with
TrueNASZFSDockerPythonHome AssistantHomeKitHMACCloudflare

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.