A collection of technical projects demonstrating hands-on experience with infrastructure, automation, and modern DevOps practices.
Featured Projects#
Production-grade, local-first AI platform combining MLX on Apple Silicon, Ollama on Linux, and Claude as cloud fallback — all routed through LiteLLM with Redis caching. Powers a team of six specialized AI agents handling research, monitoring, backend, frontend, and creative work.
Technologies: MLX, Ollama, LiteLLM, Redis, Anthropic Claude, OpenClaw, Apple Silicon
Self-hosted infrastructure running on Proxmox and Raspberry Pi. Includes monitoring, DNS, dashboards, and containerized services managed via Dockhand.
Technologies: Proxmox, Docker, Pi-hole, Grafana, Prometheus, Tailscale
Infrastructure as Code repository for managing all homelab Docker configurations. Version-controlled deployments with secrets management and remote stack control via Hawser.
Technologies: Git, Docker Compose, Dockhand, GitHub
Comprehensive security audit of homelab Docker infrastructure. Identified critical vulnerabilities including privileged containers and unprotected Docker socket mounts, then applied hardening fixes following CIS Docker Benchmark guidelines.
Technologies: Docker, Security Auditing, Linux Capabilities, Container Hardening
Implemented comprehensive memory limits and fixed Prometheus alerting across 20 Docker containers. Fixed broken alerts showing +Inf%, applied resource limits based on usage analysis, and improved monitoring accuracy.
Technologies: Docker, Prometheus, Grafana, PromQL, GitOps
Structured context system for AI-assisted infrastructure development. Converts markdown-based memory files to XML format for better hierarchy and queryability across development sessions.
Technologies: Claude Code, XML, Bash, Git
Evolution from file-based context to semantic vector search using ChromaDB. On-demand retrieval via MCP integration replaces pre-loaded context — AI memory that scales with your infrastructure.
Technologies: ChromaDB, MCP, Python, Vector Embeddings, Claude Code
A production-grade, self-hosted AI inference platform with local-first LLM routing, Redis caching, cloud fallback, and a team of specialized AI agents — all running on homelab hardware.
🧠 Semantic Memory: Claude Memory System 3.0 Part 3 of the Claude Code Memory System series
This article documents the evolution from file-based context to semantic vector search. If you haven’t read the previous parts, start with:
Part 1: Claude Code Memory System - XML-based context and directives Part 2: Memory System 2.0 - Symlink architecture and sync automation 🔄 Evolution: Memory System 3.0 (February 2026) The Limits of Files Memory Systems 1.0 and 2.0 solved real problems. XML-based CLAUDE.md files gave Claude structured context, and the symlink architecture kept everything in sync across projects. But as the homelab grew, cracks started to show.
...
Built a specialized sub-agent system for automated homelab infrastructure validation, security auditing, and documentation synchronization using Claude Code’s Task API.
Overview Implemented enterprise-grade resource management and monitoring across a multi-host Docker infrastructure. Fixed critical Prometheus alerting issues and applied memory limits to 20 containers across two servers, improving system stability and observability.
Problem: Container memory alerts showing +Inf% instead of actual percentages, no resource limits enforcing isolation between services.
Solution: Comprehensive audit of container resource usage, implementation of appropriate memory limits, and rewrite of Prometheus alert rules to handle both limited and unlimited containers.
...
Executive Summary Transformed a single 1,550-line markdown file containing all homelab infrastructure documentation into a structured Obsidian vault with 31 cross-referenced files organized across 8 thematic folders. Implemented wiki-style linking, git version control, and secure backup strategies while maintaining complete content fidelity.
Key Results:
31 organized files replacing monolithic 1,550-line document 8-folder taxonomy for logical content grouping Wiki-style cross-linking with 150+ internal references Git repository with security-hardened .gitignore Zero sensitive data exposure risk The Problem Monolithic Documentation Challenges The homelab infrastructure documentation had grown organically into a single unwieldy file:
...
Docker Security Audit & Hardening Repository: github.com/jhathcock-sys/Dockers Commit: d403912 - Security hardening fixes
Project Overview A comprehensive security audit of my homelab Docker infrastructure, identifying critical vulnerabilities and applying hardening measures. This project directly supports my Security+ certification preparation by applying real-world container security concepts.
The audit reviewed 11 Docker Compose files across two servers (ProxMoxBox and Pi5), examining configurations for common security misconfigurations that could lead to container escape, privilege escalation, or data exposure.
...
🧠 Claude Code Memory System Building a structured context system for AI-assisted infrastructure development.
Project Overview Claude Code is Anthropic’s CLI tool for AI-assisted development. While powerful out of the box, it lacks persistent memory between sessions. This project documents how I built a structured memory file (CLAUDE.md) to provide consistent context, enforce operational standards, and create a personalized AI engineering assistant.
Key Insight: The quality of AI assistance is directly proportional to the quality of context you provide. A well-structured memory file transforms a general-purpose AI into a specialized team member who understands your infrastructure, preferences, and standards.
...
🔄 GitOps Infrastructure Repository: github.com/jhathcock-sys/Dockers
Project Overview Infrastructure as Code for my homelab environment. All Docker Compose configurations are version-controlled in Git, enabling reproducible deployments, change tracking, and easy rollbacks.
This is a stepping stone toward full Kubernetes orchestration, building GitOps practices while working with Docker Compose.
📁 Repository Structure homelab-ops/ ├── proxmox/ # ProxMoxBox (192.168.1.4) stacks │ ├── dockhand/ # Docker management UI │ ├── homepage/ # Dashboard + config files │ │ └── config/ # services.yaml, widgets.yaml, etc. │ ├── homelab-tools/ # Homebox asset inventory │ ├── minecraft/ # PaperMC + Geyser/Floodgate │ ├── monitoring/ # Full observability stack │ │ ├── alertmanager/ # Alert routing config (Discord) │ │ ├── prometheus/ # Scrape configs + alert rules │ │ ├── loki/ # Log aggregation config │ │ ├── promtail/ # Log collector config │ │ └── grafana/ # Dashboard provisioning │ ├── nginx-proxy-manager/ # Reverse proxy │ └── uptime-kuma/ # Service health monitoring │ └── pi5/ # Raspberry Pi 5 stacks (via Hawser) ├── infra/ # Pi-hole + Tailscale ├── mealie/ # Recipe management └── nebula-sync/ # Pi-hole sync 🚀 Deployment Workflow Local Stacks (ProxMoxBox) # 1. Edit compose files locally vim proxmox/homepage/docker-compose.yaml # 2. Commit and push git add . && git commit -m "Update homepage config" git push # 3. On server: pull and deploy cd /opt/homepage git pull docker compose up -d Remote Stacks (Pi5 via Hawser) Pi5 stacks are managed remotely through Dockhand’s Hawser agent:
...
🏠 My Homelab Setup Welcome to my homelab documentation. This project tracks the infrastructure, services, and networking configuration of my self-hosted environment. The goal is to create a resilient, automated, and organized system for home services, monitoring, and development.
📚 Documentation Wiki View Full Homelab Documentation →
Complete technical documentation is available on my public wiki, including:
Detailed service configurations and architecture diagrams Step-by-step setup guides and troubleshooting GitOps workflow and deployment procedures Security best practices and monitoring setup Project changelogs and infrastructure evolution The wiki is built with Quartz v4 and features full-text search, graph view, and WikiLinks for easy navigation.
...