WebMux (Website Multiplexer) is a reverse proxy for managing multiple virtual hosts with SSL support
346
WebMux (Website Multiplexer) is a reverse proxy system designed to manage multiple virtual hosts (websites) from public entry points. Those entry points can be used to terminate SSL tunnels, for which the system automatically manages certificate issuing and renewal (via acme.sh).
Source code: https://github.com/oreiche/webmux
Build and run (adjust ports and persistent directories if needed):
$ mkdir -p var/{conf,data,log} # persistent directories
$ docker run \
-p 3000:3000 \
-p 80:80 \
-p 443:443 \
-e WMX_ADMIN_PORT=3000 \
-e WMX_SCAN_INTERVAL=3600 \
-v $(pwd)/var/log:/var/log \
-v $(pwd)/var/conf:/etc/webmux \
-v $(pwd)/var/data:/var/lib/webmux \
docker.io/oreiche/webmux:latest
Create the file compose.yaml with following content:
version: "3.8"
services:
webmux:
container_name: webmux
image: docker.io/oreiche/webmux:latest
ports:
# Admin port (WebUI)
- "3000:3000"
# Endpoints being served (adjust to your needs)
- "80:80"
- "443:443"
restart: always
environment:
# WebMux settings
WMX_ADMIN_PORT: 3000
WMX_SCAN_INTERVAL: 3600
volumes:
# Persistent logging, data storage, and ACME credentials
- ./var/log:/var/log
- ./var/conf:/etc/webmux
- ./var/data:/var/lib/webmux
Adjust endpoint ports and persistent directories if needed, and run:
$ mkdir -p var/{conf,data,log} # persistent directories
$ docker-compose up
In the TrueNAS WebUI, go to Apps > Discover. Click the "three-dots" button (top right corner), then select Install via YAML. Insert the following YAML code and adjust endpoint ports and volumes if needed.
services:
webmux:
environment:
WMX_ADMIN_PORT: "3000"
WMX_SCAN_INTERVAL: "3600"
hostname: webmux
image: docker.io/oreiche/webmux:latest
platform: linux/amd64
ports:
# Admin port (WebUI)
- mode: ingress
protocol: tcp
published: 3000
target: 3000
# Endpoints being served (adjust to your needs)
- mode: ingress
protocol: tcp
published: 80
target: 80
- mode: ingress
protocol: tcp
published: 443
target: 443
privileged: False
pull_policy: missing
restart: unless-stopped
stdin_open: False
tty: False
volumes:
- bind:
create_host_path: True
propagation: rprivate
read_only: False
source: /mnt/.ix-apps/app_mounts/webmux/config
target: /etc/webmux
type: bind
- bind:
create_host_path: True
propagation: rprivate
read_only: False
source: /mnt/.ix-apps/app_mounts/webmux/data
target: /var/lib/webmux
type: bind
- bind:
create_host_path: True
propagation: rprivate
read_only: False
source: /mnt/.ix-apps/app_mounts/webmux/log
target: /var/log
type: bind
volumes: {}
x-action-required: False
x-notes: >
# WebMux
WebMux (Website Multiplexer) is a reverse proxy system designed to manage
multiple virtual hosts (websites) from public entry points. Those entry
points can be used to terminate SSL tunnels, for which the system
automatically manages certificate issuing and renewal (via acme.sh).
## Bug Reports and Feature Requests
If you find a bug in this app or have an idea for a new feature, please file
an issue at https://github.com/oreiche/webmux
x-portals:
- host: 0.0.0.0
name: Web UI
path: /
port: 3000
scheme: http
Content type
Image
Digest
sha256:e556ac815…
Size
103.1 MB
Last updated
5 months ago
docker pull oreiche/webmux