3 Commits
Author SHA1 Message Date
TMCandClaude Opus 5.5 60b4c79b0f Show internal URLs, list label problems, copy a label template
CI / build (push) Successful in 40s
Tiles now show the public URL and, when set, the internal URL as a second
link. Label names ignore case and - versus _. Containers HODA can't fully
use are listed above the tiles with the reason: labels without enable,
a missing url, or an unknown label name with a suggestion (category ->
group). To find labels without enable, discovery reads all containers.

A "Copy labels" button copies every label as a commented template, and
falls back to the copy command where the clipboard API is missing (plain
http on the LAN).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 22:55:06 +01:00
TMCandClaude Opus 5.5 c58cc329b0 Deploy with root docker-compose files, like the other repos
docker-compose.yml runs HODA on the main host, published on one address
(10.20.30.10:10040 in .env.example) for the Pangolin resource. The agent
settings are optional, so a single host needs nothing else.
docker-compose.agent.yml is for a second Docker host. Both follow FiMa's
layout: required values fail with a clear message, pull_policy always,
memory limits, capped logs, a read-only root filesystem.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 22:55:06 +01:00
TMCandClaude Opus 5.5 9d6a921c34 Start HODA: a homelab dashboard built from Docker labels
CI / build (push) Successful in 30s
Apps opt in with sema.dashboard.* labels in their own compose file. The
primary reads its host's containers through a read-only socket proxy,
follows Docker events, and merges in what the agent on the second host
reports. Icons come from the icon label, the dashboard-icons set or the
app's favicon, with a letter as the fallback.

Go with only the standard library, a distroless image, and a Gitea
Actions workflow copied from FiMa's: checks in the Dockerfile's check
stage, a Trivy scan, and a push to git.mariosem.es/msemes/hoda.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:18:20 +01:00