Skip to main content

Expose gateways through a reverse proxy

By default each gateway publishes a host port (localhost:9088, :9089, …). The reverse-proxy option routes them through Traefik instead: the gateways publish no host port, carry Traefik labels, and join the proxy's Docker network, and Traefik routes each one by hostname.

The routing host is <route>.localtest.me, where <route> is the project name for a single-gateway stack or <project>-<gateway> for a multi-gateway one. Every *.localtest.me name resolves to 127.0.0.1, so the URLs work with no hosts-file edit.

Two modes

ModeFlagWhat it does
external--reverse-proxy externalJoins a proxy you already run on --proxy-network (default proxy).
scaffold--reverse-proxy scaffoldAlso lays down the ia-eknorr/traefik-reverse-proxy README under --proxy-path (default reverse-proxy/) so you can stand the proxy up.
ignition-stack create demo --arch scale-out --reverse-proxy external
ignition-stack create demo --arch scale-out --reverse-proxy scaffold --proxy-path proxy

Omit the flag for plain host-port mapping.

In the wizard

The exposure step offers the choice:

? Expose gateways via
> Host ports
Reverse proxy

Choosing Reverse proxy detects whether a proxy Docker network already exists on the host. If it does, the wizard offers to join it. Otherwise you name an existing network or scaffold the proxy:

? Proxy network
> Name an existing network
Scaffold ia-eknorr/traefik-reverse-proxy

What gets generated

A proxied gateway carries the Traefik router labels (host rule, the gateway's 8088 web port as the target) and joins the external proxy network instead of mapping a host port. The POST-SETUP.md Connections reference lists each gateway's *.localtest.me URL, and — for a scaffold — points at the README that walks through installing the proxy in front of the stack. The link auto-forms once the proxy is up; the post-setup step is a verification, not manual wiring.

Cloning

The exposure choice is part of the configuration record, so create <name> -f rebuilds the proxy setup from the saved config — the routes re-derive from the new project name automatically.