Building The Coe Lab: A Personal Technology Laboratory
How I built a comprehensive homelab infrastructure with AI integration, automated monitoring, and self-hosted services.
The Coe Lab started as a simple idea: what if I could build a personal technology laboratory that combines infrastructure, AI, and automation into a cohesive system? Six months later, here's what I've built.
The Foundation: Docker on Linux
Everything runs in Docker containers on a Linux server with flexible storage virtualization, application hosting, and container management. Key benefits:
- Mixed drive sizes - No need for identical drives like traditional RAID
- Docker support - Run hundreds of containers easily
- VM capabilities - Virtual machines for Windows/Linux workloads
- Community plugins - Extend functionality with community apps
Core Services
Media Stack
- Plex - Media server for family streaming
- Radarr - Automated movie acquisition
- Sonarr - Automated TV show management
- Lidarr - Music library automation (42 artists tracked)
- Prowlarr - Indexer aggregator with 11 indexers
- Deluge - Download client with auto-management
- FlareSolverr - Cloudflare bypass for direct scraping
AI Infrastructure
- OpenClaw - Autonomous AI assistant framework
- Neo4j - Graph database for memory (51+ nodes)
- Ollama - Model serving (cloud relay for large models)
Infrastructure Services
- Nginx Proxy Manager - Reverse proxy with SSL management
- Authelia - Single sign-on and access control
- Grafana + Prometheus - Monitoring and alerting
- Tailscale - Secure remote access
The AI Integration Layer
What makes The Coe Lab different is the AI layer that ties everything together. OpenClaw acts as the central nervous system:
Automated Monitoring
Every hour, OpenClaw checks:
- Ollama usage and model performance
- Node health (Windows gaming PC, other endpoints)
- Docker container status
- Disk space and system resources
Results are posted to Discord's #TCL channel. If something's wrong, I know immediately.
Media Management
Every 30 minutes, the media manager:
- Checks Radarr for missing movies (triggers search for first 5)
- Checks Sonarr for missing episodes (triggers series search)
- Monitors Deluge for stalled downloads (0 MB/s rate)
- Auto-removes dead torrents (no seeds for 90+ minutes)
- Blocklists bad releases to prevent re-downloading
On the first run, it cleaned up 10 dead torrents and triggered searches for 12 movies and 5 TV shows.
Node Recovery
My Windows gaming PC (LenovoGaming) runs OpenClaw Node for browser automation. If it goes offline:
- Hourly check detects the node is unreachable
- OpenClaw connects via WinRM (Windows Remote Management)
- Issues a reboot command
- Waits 90 seconds for the node to come back online
- Verifies the node is healthy before continuing
This has saved me multiple trips to the basement to manually reboot the machine.
Memory Architecture
The AI assistant needs context to be useful. Neo4j stores:
- People - Family members, colleagues, relationships
- Projects - Active initiatives with status and goals
- Services - Infrastructure components and their configs
- Events - Calendar events and important dates
- Books/Media - Reading lists and recommendations
- Notes - Decisions, lessons learned, context
This allows conversational queries like "What's the status of the website project?" or "When is Jeni's birthday?" with accurate, contextual answers.
Website & Public Presence
The Coe Lab website (thecoelab.com) serves multiple purposes:
- Portfolio - Professional presence and projects
- Blog - Technical writing and lessons learned
- Lab Dashboard - Public-facing service status
- Playground - Interactive demos and experiments
Built with Next.js 14, TypeScript, and Tailwind CSS, deployed as a static export to Nginx.
Key Design Principles
1. Automation First
If I do something twice manually, it gets automated. This applies to media management, health checks, backups, and even reboots.
2. Self-Healing
Systems should recover from failures automatically. The node reboot workflow is a perfect example—no human intervention needed.
3. Observability
Everything is monitored and logged. If something breaks, I want to know why. Grafana dashboards show trends over time, not just current status.
4. Documentation
Every service, script, and configuration is documented in markdown. Future-me (or anyone else) should be able to understand how things work.
5. Security by Default
Authelia protects all external-facing services. Tailscale provides encrypted remote access. Internal services don't expose ports unnecessarily.
What's Next
The roadmap includes:
- Email automation - AI-powered inbox triage and responses
- Calendar integration - Meeting prep and scheduling assistance
- Multi-agent workflows - Specialized AI assistants for different domains
- Enhanced memory - Better entity extraction from conversations
- Voice interface - ElevenLabs TTS for audio responses
Lessons Learned
Building this lab has taught me:
- Start small and iterate—don't try to build everything at once
- Invest in good monitoring from day one
- Document as you go, not after
- Automation compounds—small scripts become critical infrastructure
- The best homelab is one that actually gets used, not just admired
If you're building your own lab or have questions about any of these systems, I'm happy to share what I've learned. Reach out via the contact page or connect on Discord.