Misc
A hardening release: a runnable integration suite now exercises 40 Harbor services end-to-end, and everything it caught is fixed.
- New tests/services-integration.sh runs the whole service integration suite (grouped, with --groups/--list), backed by a written spec in tests/services-integration.md.
- First-boot failures fixed across many services: SearXNG (stale settings crash-loop), Langflow and AnythingLLM (storage permissions), LibreChat (RAG database race and a broken Ollama endpoint URL), LibreTranslate, Plandex (install source, server image, port, postgres pin), webtop builds, fabric, cmdh, and metamcp headless start.
- chat-ui works with Harbor backends again on current upstream versions.
- LDR's SearXNG search integration and persistent data storage now work; Presenton reaches Ollama and no longer requires login setup.
- Bifrost restarts cleanly with a persisted config; optillm is reachable on its published port; mcp-inspector no longer spawns runaway processes.
- LiteLLM gains ready-made llama.cpp and optillm routing configs.
- harbor up accepts cross-file service selectors like harbor up mcpo mcp-server-time.
- Boost now returns the backend's real HTTP status and error body instead of an empty 200 when a request is rejected, and logs handled backend errors as a single concise line.
- harbor pull rejects unknown service names with a clear error instead of starting Ollama.
- ROCm GPU variants (llama.cpp, Ollama, LocalAI, Lemonade) verified with real inference on AMD hardware, with the runner detecting ROCm hosts automatically.
Full Changelog: https://github.com/av/harbor/compare/v0.5.3...v0.5.4