From 670ebb06666a3fce9090165e4c7fefbbb275ca27 Mon Sep 17 00:00:00 2001 From: archipelago Date: Fri, 26 Jun 2026 03:16:41 -0400 Subject: [PATCH] fix(launcher): pin Gitea launch URL to web port 3001 (not SSH 2222) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- core/container/src/podman_client.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/container/src/podman_client.rs b/core/container/src/podman_client.rs index f5cfa103..927d409c 100644 --- a/core/container/src/podman_client.rs +++ b/core/container/src/podman_client.rs @@ -121,6 +121,10 @@ impl PodmanClient { "cryptpad" => "http://localhost:3003", "penpot" => "http://localhost:9001", "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", "fedimint-gateway" => "http://localhost:8176", "endurain" => "http://localhost:8080",