Drauku

joined 10 months ago
[–] [email protected] 1 points 10 months ago (2 children)

I suggest creating a custom docker bridge network on which you put all your other docker containers that you want to give access to the local network. There are other reasons a custom bridge is preferred, but that's a different subject.

Here is the terminal command that will create a custom docker bridge network named reverse_proxy:

docker network create --opt "encrypted" --scope "local" --driver "bridge" --subnet "172.27.2.0/24" --gateway "172.27.2.254" --attachable "reverse_proxy"

Here's the NXPM docker-compose.yml I'm using that works for this purpose:

version: '3'

networks:
  reverse_proxy:
    external: true

services:
  app:
    image: 'jlesage/nginx-proxy-manager'
    container_name: 'nxpm'
    restart: unless-stopped
    networks:
      - reverse_proxy
    ports:
      - '443:443' # https
      - '80:80'   # http
      - '81:81'   # npxm webui
    volumes:
      - /opt/docker/appdata/nxpm/data:/data
      - /opt/docker/appdata/nxpm/certs:/etc/letsencrypt

Note the two networks: sections, one outside of and one inside the nxpm service stanza.

Once this container is up and running, you should be able to route to any network service on the local area network connected to your docker host by creating a host redirect in the nxpm webui that points to that services lan.ip:port.