# REPORT — controller v0.77.0: per-app `open_path` for the "Megnyitás" link ## Problem The dashboard / deploy / app-info **"Megnyitás"** (open app) button was hardcoded to the bare subdomain root `https://{subdomain}.{domain}` for every app. Apps whose useful UI isn't at `/` opened to the wrong place — e.g. Gokapi's `/` redirects away (its admin is `/admin`), Ghost's `/` is the public blog (admin is `/ghost/`). ## Change (commit `904e787`) - `internal/stacks/metadata.go`: new optional `Metadata.OpenPath` (`open_path` in `.felhom.yml`), appended to the open-app URL. Empty = bare root (unchanged behaviour for all other apps). - Wired into all three link sites via `.Meta.OpenPath` — **no handler changes** (all three templates already carry `.Meta`): - `dashboard.html:173` (range over stacks → `.Meta.OpenPath`) - `deploy.html:18` (`.Meta` from the deploy handler) - `app_info.html:13` (`.Meta` from the app-info handler) ## Catalog (app-catalog-felhom.eu, commits `6a71c5a`) Audited all 53 templates (subagent + cross-check). No Traefik `PathPrefix` anywhere; the only apps whose bare `/` is not a usable landing: - `gokapi` → `open_path: "/admin"` (file-share index redirects away) - `ghost` → `open_path: "/ghost/"` (bare `/` is the public blog; admin/setup at `/ghost/`) All other 51 serve or redirect usefully at `/` (e.g. plex `/`→`/web/`, radarr/sonarr/gitea/vaultwarden `/`→`/login`). `onlyoffice` is API-only (status page at `/`) — left at root. ## Validation (live, guest 9201, v0.77.0 healthy) - Rendered `Megnyitás` href on the gokapi **Beállítások** page: `https://share.demo-felhom.eu/admin` ✓ - Dashboard hrefs: `share.demo-felhom.eu/admin` for gokapi; **all other apps unchanged** at bare root (arcade, audiobooks, books, budget, komga, media, paperless, paste, photos, radarr, recipes, status, tasks) — no regression ✓ - (Earlier, same session: gokapi's index `RedirectUrl` was also repointed `/`→`/admin` so direct-URL visitors to the bare root reach the login too.) ## Notes - `open_path` must start with `/`. It's purely cosmetic (the open link); routing is unchanged. - Build/deploy: build-server `git pull` first (build.sh doesn't pull), `:0.77.0` via bootstrap.