fix(launcher): pin Gitea launch URL to web port 3001 (not SSH 2222)

Gitea publishes two host ports — SSH on 2222 and the web UI on 3001.
The launch URL comes from manifest_lan_address_for() (the manifest's
interfaces.main → 3001), but Gitea had no entry in the static
lan_address_for() fallback map. On a node where the gitea manifest is
absent or stale (no interfaces block), the lookup returns None and the
code falls through to extract_lan_address(), which returns whichever
port podman lists first — frequently the SSH port. Result: the app
launched at :2222 instead of :3001 (observed on tailscale node
100.82.34.38).

Add the canonical "gitea" => http://localhost:3001 entry to the static
map, matching every other core app, so the web UI is pinned regardless
of manifest presence.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
archipelago 2026-06-26 03:16:41 -04:00
parent 0a8db9044f
commit 670ebb0666

View File

@ -121,6 +121,10 @@ impl PodmanClient {
"cryptpad" => "http://localhost:3003", "cryptpad" => "http://localhost:3003",
"penpot" => "http://localhost:9001", "penpot" => "http://localhost:9001",
"immich_server" | "immich" => "http://localhost:2283", "immich_server" | "immich" => "http://localhost:2283",
// Gitea publishes SSH (2222) and web (3001). Without a manifest on
// disk, extract_lan_address() returns whichever podman lists first —
// which can be the SSH port, breaking the launch. Pin the web UI.
"gitea" => "http://localhost:3001",
"nginx-proxy-manager" => "http://localhost:8081", "nginx-proxy-manager" => "http://localhost:8081",
"fedimint-gateway" => "http://localhost:8176", "fedimint-gateway" => "http://localhost:8176",
"endurain" => "http://localhost:8080", "endurain" => "http://localhost:8080",