At home.
Self-hosted.

Local AI, everyday services and home automation.

A local workstation for language models and generative work. A home server for applications and data. Home Assistant for automations around the house.

Home Assistant

My view of the house: devices, energy and hosted services, with everyday automations in one place.

MQTT, Node-RED & integrations
Lighting
Lights throughout the house.
Heating
Scheduled heating.
Security notifications
Camera alerts and my custom-built security dashboard.
Reminders
Bin collection reminders.
Solar
Monitoring solar-panel generation.
Homelab
Monitoring the lab and hosted services.
AI workstation
Local AI & generationllama.cpp, Ollama, ComfyUI
Application server
AMD Ryzen 9 8945HS64 GB DDR5 RAM, 4 TB NVMe8 cores, 16 threads

AI & generation

llama.cpp and Ollama handle local LLM work. ComfyUI is where I build custom image, video and audio workflows.

Workstation notes

Self-hosted services

Applications, databases, files and media run on the server, with container deployment, routing and monitoring around them.

Server notes

An agent organisation, self-hosted.

I run Hermes on the server as an agent organisation. A CEO coordinates engineering, growth, research and QA, with specialist roles handling the work.

Explore the agent setup

How it connects

Reaching hosted services
  • DuckDNSHome-network domain names
  • Cloudflare TunnelSelected public services
TraefikContainer labels, routing & automatic TLS
Selected applicationsServices hosted on the server
Home-network requests reach the proxy directly; selected public services are reached through Cloudflare.
Home Assistant in action
Home AssistantOne view of the house
  • DevicesMQTT & direct integrations
  • Node-REDCustom workflows
  • EnergySolar & energy integrations
  • ServicesHealth & availability
Home Assistant brings the state together. MQTT carries device messages; Node-RED adds custom logic.
The agent organisation
MeHuman principal
  • CEOOrchestration, delegation & review
    • Engineering

      • CTOArchitecture & standards
      • BuilderCode & implementation
      • DebuggerRuntime diagnosis
    • Growth & business

      • CMOPromotion & growth
      • SalesOffers & commercial planning
      • DiagramTechnical visualisation
      • ScribeWriting & explanations
      • Ops publisherApproved release operations
    • Research & strategy

      • ResearchInvestigation & evidence
      • RadarSocial & technical sensors
      • StrategyOptions & trade-offs
    • Quality & tooling

      • QA auditorQuality, evidence & privacy
      • Prompt engineerInstructions & evaluation
      • RecruiterAgent roles & onboarding
The CEO is my point of contact and coordinates all specialist agents, grouped here by function.

Selected stack

Local models
Ollama, Open WebUIBrowser interface & model serving
Agents
Hermes, Hermes Web UIAgent runtime & browser interface
Containers
Docker, Coolify, Portainer, WatchtowerDeployment, inspection & updates
Access
Traefik, Cloudflare Tunnel, Pi-holeDNS, proxying & remote access
Monitoring
Uptime Kuma, Glances, Speedtest TrackerAvailability, host health & connectivity
Files, media & everyday tools
Files
Nextcloud, SambaFile sync & shared storage
Media
Jellyfin, PlexPersonal media libraries
Data
PostgreSQL, MariaDB, MySQL, RedisApplication persistence & caching
Automation
Home Assistant, n8n, ntfyHome automation, workflows & notifications
Utilities
Vaultwarden, IT-Tools, PrivateBin, DocuSealPasswords, documents & everyday tools

A few implementation details

  • Shared storage. Jellyfin and Plex read the same underlying media folders.
  • Persistent data. Application and database data live outside the containers that run them.
  • Routes from labels. Docker labels configure Traefik routing and automatic TLS. New services use the existing proxy setup.
Browse the Compose collection