Patrick Plate c662a5237b feat(mcp-image-gen): add ComfyUI auto-start health check + systemd service
Option A: Add lifespan context manager to server.py
- _ping_comfyui(): async health check against /system_stats
- check_and_start_comfyui(): ping on startup; if down, launches ComfyUI
  via subprocess.Popen from COMFYUI_DIR (.venv/bin/python main.py)
  with HSA_OVERRIDE_GFX_VERSION=11.0.0 injected for AMD ROCm
- Polls up to 30s for readiness after auto-start
- New env var: COMFYUI_DIR (default ~/ComfyUI)
- FastMCP lifespan= wired in; 34/34 tests still passing

Option B: Add comfyui.service systemd user service file
- Install: cp mcp/mcp-image-gen/comfyui.service ~/.config/systemd/user/
- Enable: systemctl --user enable --now comfyui
- Sets HSA_OVERRIDE_GFX_VERSION=11.0.0, WorkingDirectory=%h/ComfyUI
- Restart=on-failure, logs via journald

docs: Update mcp-image-gen-ComfyUI-Setup.md
- New Step 4: systemd service install + linger instructions
- Step 5: manual start (moved from old Step 4)
- Step 6/7 renumbered; COMFYUI_DIR env var documented
- Architecture diagram added; troubleshooting rows updated
2026-04-06 10:43:36 +02:00

Workshop — Patrick's Homelab Monorepo

A polyglot monorepo for personal engineering projects: MCP servers, Java web apps, and whatever comes next. Hosted on Gitea @ TrueNAS.local.

See plans/REPO_STRATEGY.md for the full structure rationale and conventions.


📂 Structure

workshop/
├── mcp/          Python MCP servers (FastMCP + uv)
├── java/         Java web projects (Maven + Jakarta EE)
├── plans/        Architecture & strategy docs
└── .roo/         IDE config (Roo Code, MCP wiring)

📖 Wiki

Full documentation lives in the Gitea wiki.

Wiki source: docs/wiki/pages/ — edit here, deploy with:

./docs/wiki/deploy_wiki.sh

MCP Servers (mcp/)

Server Description Stack
mcp/bigmind/ Persistent AI memory — sessions, facts, hypotheses, profile UI Python, FastMCP, SQLite, Flask
mcp/webscraper/ Web scraping, search — fetch, links, tables, Brave Search Python, FastMCP, httpx, BeautifulSoup
mcp/mcp-image-gen/ AI image generation — text-to-image via ComfyUI + FLUX.1-schnell Python, FastMCP, httpx, ComfyUI

Run a server:

cd mcp/bigmind   # or mcp/webscraper
./run.sh

Each server is an independent Python package. uv sync handles dependencies, no shared virtualenv.


Java Projects (java/)

Project Description Stack
java/mss-failsafe/ MSS Failsafe — multi-module Java EE web application Java EE, Maven, WildFly
java/wellmann-shop/ Wellmann online shop — JSF/PrimeFaces e-commerce Java 8, JSF, PrimeFaces, EclipseLink, MySQL

Build a project:

cd java/wellmann-shop
mvn clean package

📐 Plans & Architecture (plans/)

Document Description
plans/REPO_STRATEGY.md Monorepo strategy, taxonomy, naming conventions, migration log

🔧 IDE Wiring

MCP servers are wired into VS Code via .roo/mcp.json.

BigMind memory DB lives at ~/.mcp/bigmind/memory.db (outside the repo — not committed).


License

MIT — personal homelab use.

S
Description
Homelab MCP servers monorepo
Readme 98 MiB
Languages
Java 33%
HTML 32.7%
Python 24.7%
TypeScript 3.8%
CSS 3.8%
Other 2%