Link port chips to the Docker host, not the proxy's domain (0.67.3)
Ports published on 0.0.0.0 were linked at window.location.hostname. Opened
through a reverse proxy such as Nginx Proxy Manager that is the proxy's
domain, and domain:8080 ended up at the proxy instead of the container.
The backend now reads the host's address from the host's routing table
(${HOST_PROC_PATH}/1/net/route + fib_trie, the /proc mount the compose file
already has): the IPv4 address on the interface with the best default
route. There is no fallback to /proc/net, which in a bridged container is
the container's own namespace with an unreachable 172.x address.
The links use, in order: the new "Host address for port links" setting
(Settings -> General), the page's hostname when it is an IP or localhost,
the detected address, and the page's hostname as a last resort. Ports
bound to one specific address still link there; IPv6 hosts are bracketed.
The setting is validated before anything is written, so a bad value no
longer leaves the interval half-saved in the same request.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
06234c1067
commit
ba788e8b03
13 files changed
+432
-22
No files matched your search
@@ -13,6 +13,19 @@ as intuitive as Dockge, as capable as Portainer for Compose workflows.
|
||||
> (Auto-update) + Phase 23 (Secrets & configs) + Phase 24 (Design System v2)
|
||||
> complete.
|
||||
|
||||
## Upgrading to 0.67.3 — nothing to do
|
||||
|
||||
**Port links work behind a reverse proxy.** The port chips on a stack linked to
|
||||
`<the address in the browser>:<port>`. Opened through a proxy such as Nginx
|
||||
Proxy Manager that is the proxy's domain, and `stackpilot.example.com:8080`
|
||||
ended up at the proxy instead of the container. They now link to the Docker
|
||||
host's own address: the backend reads it from the host's routing table (the
|
||||
`/proc:/host_proc:ro` mount the compose file already has — the address on the
|
||||
interface with the default route). Opened via an IP, the links keep using that
|
||||
IP. When the detected address is the wrong one (several NICs, a VPN as default
|
||||
route), set **Settings → General → Host address for port links**; it wins
|
||||
everywhere. Ports bound to one specific address still link to that address.
|
||||
|
||||
## Upgrading to 0.67.2 — StackPilot and the terminal agree
|
||||
|
||||
StackPilot now runs `docker compose` the way it runs when typed in the stack's
|
||||
|
||||
Reference in new issue
Block a user