How to expose Docker router edge listener

I’m trying to follow the Docker router instructions here: https://support.netfoundry.io/hc/en-us/articles/11379858501389-Deploy-Edge-Router-as-Docker-container

The examples don’t mention any port forwards or ingresses, so it isn’t clear how to expose the router’s edge listener port, and the article and Hub page don’t link to any source files that would enable me to explore how the container is composed in order to answer this question.

My simple, immediate use case is to run the router with edge and tunnel mode “host.” In the future, I may also like to use tunnel mode “proxy” or “tproxy”, but I don’t see any mention of how to supply the configuration for those to the Docker router.

I was able to accomplish the second objective of hosting services with the Docker router, but I’m still not able to use the Docker router’s edge listener because it is configured to advertise the interface address of the container inside the Docker bridge network.

I used this Compose file:

version: "3.9"
services:
  nfrouter:
    image: netfoundry/autonomous-router:v0.3
    environment:
      REG_KEY: ZBN39SWPUE
    #ports:
    #- "443:443"
    volumes:
      - type: volume
        source: persistent
        target: /etc/netfoundry
    depends_on: []
  admin:
    image: busybox
    volumes:
      - type: volume
        source: persistent
        target: /etc/netfoundry
        read_only: true
volumes:
  persistent: {}

From the admin container, I can observe the router’s generated config file and that is how I learned the container’s interface address is advertised for the edge listener.

I am able to modify the router’s config.yml to advertise the desired IP address, but edge clients will only see the current DNS and IP SANS, which do not match the new IP, so the edge listener can not be used by edge clients.

I think it would be necessary to provide the desired DNS or IP SAN to advertise at the time of router enrollment.