mirror of
https://github.com/h44z/wg-portal.git
synced 2026-09-03 21:36:44 +00:00
Deployed 87aef1c to master with MkDocs 1.6.1 and mike 2.2.0
This commit is contained in:
@@ -10,11 +10,11 @@
|
||||
<span class=w> </span><span class=c1># default backend decides where new interfaces are created</span>
|
||||
<span class=w> </span><span class=nt>default</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">mikrotik</span>
|
||||
|
||||
<span class=w> </span><span class=c1># A prefix for resolvconf. Usually it is "tun.". If you are using systemd, the prefix should be empty.</span>
|
||||
<span class=w> </span><span class=nt>local_resolvconf_prefix</span><span class=p>:</span><span class=w> </span><span class=s>"tun."</span>
|
||||
<span class=w> </span><span class=c1># A prefix for resolvconf. Usually it is "tun.". If you are using systemd, the prefix should be empty.</span>
|
||||
<span class=w> </span><span class=nt>local_resolvconf_prefix</span><span class=p>:</span><span class=w> </span><span class=s>"tun."</span>
|
||||
|
||||
<span class=w> </span><span class=nt>mikrotik</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>id</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">mikrotik</span><span class=w> </span><span class=c1># unique id, not "local"</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>id</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">mikrotik</span><span class=w> </span><span class=c1># unique id, not "local"</span>
|
||||
<span class=w> </span><span class=nt>display_name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">RouterOS RB5009</span><span class=w> </span><span class=c1># optional nice name</span>
|
||||
<span class=w> </span><span class=nt>api_url</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">https://10.10.10.10/rest</span>
|
||||
<span class=w> </span><span class=nt>api_user</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">wgportal</span>
|
||||
@@ -78,7 +78,7 @@
|
||||
<span class=w> </span><span class=nt>registration_enabled</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
|
||||
<span class=w> </span><span class=c1># Restrict interface access based on LDAP filters</span>
|
||||
<span class=w> </span><span class=nt>interface_filter</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=nt>wg0</span><span class=p>:</span><span class=w> </span><span class=s>"(memberOf=CN=VPNUsers,OU=Groups,DC=COMPANY,DC=LOCAL)"</span>
|
||||
<span class=w> </span><span class=nt>wg0</span><span class=p>:</span><span class=w> </span><span class=s>"(memberOf=CN=VPNUsers,OU=Groups,DC=COMPANY,DC=LOCAL)"</span>
|
||||
<span class=w> </span><span class=nt>log_user_info</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
|
||||
</code></pre></div> <h2 id=openid-connect-oidc-authentication>OpenID Connect (OIDC) Authentication</h2> <div class=highlight><pre><span></span><code><span class=c1># ... (basic configuration)</span>
|
||||
|
||||
@@ -89,11 +89,11 @@
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>provider_name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">azure</span>
|
||||
<span class=w> </span><span class=nt>display_name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">Login with</br>Entra ID</span>
|
||||
<span class=w> </span><span class=nt>registration_enabled</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
|
||||
<span class=w> </span><span class=nt>base_url</span><span class=p>:</span><span class=w> </span><span class=s>"https://login.microsoftonline.com/${AZURE_TENANT_ID}/v2.0"</span>
|
||||
<span class=w> </span><span class=nt>client_id</span><span class=p>:</span><span class=w> </span><span class=s>"${AZURE_CLIENT_ID}"</span>
|
||||
<span class=w> </span><span class=nt>client_secret</span><span class=p>:</span><span class=w> </span><span class=s>"${AZURE_CLIENT_SECRET}"</span>
|
||||
<span class=w> </span><span class=nt>base_url</span><span class=p>:</span><span class=w> </span><span class=s>"https://login.microsoftonline.com/${AZURE_TENANT_ID}/v2.0"</span>
|
||||
<span class=w> </span><span class=nt>client_id</span><span class=p>:</span><span class=w> </span><span class=s>"${AZURE_CLIENT_ID}"</span>
|
||||
<span class=w> </span><span class=nt>client_secret</span><span class=p>:</span><span class=w> </span><span class=s>"${AZURE_CLIENT_SECRET}"</span>
|
||||
<span class=w> </span><span class=nt>allowed_domains</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"outlook.com"</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"outlook.com"</span>
|
||||
<span class=w> </span><span class=nt>extra_scopes</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">profile</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">email</span>
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -6,12 +6,12 @@
|
||||
<span class=w> </span><span class=nt>restart</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">unless-stopped</span>
|
||||
<span class=w> </span><span class=nt>logging</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=nt>options</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=nt>max-size</span><span class=p>:</span><span class=w> </span><span class=s>"10m"</span>
|
||||
<span class=w> </span><span class=nt>max-file</span><span class=p>:</span><span class=w> </span><span class=s>"3"</span>
|
||||
<span class=w> </span><span class=nt>max-size</span><span class=p>:</span><span class=w> </span><span class=s>"10m"</span>
|
||||
<span class=w> </span><span class=nt>max-file</span><span class=p>:</span><span class=w> </span><span class=s>"3"</span>
|
||||
<span class=w> </span><span class=nt>cap_add</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">NET_ADMIN</span>
|
||||
<span class=w> </span><span class=c1># Use host network mode for WireGuard and the UI. Ensure that access to the UI is properly secured.</span>
|
||||
<span class=w> </span><span class=nt>network_mode</span><span class=p>:</span><span class=w> </span><span class=s>"host"</span>
|
||||
<span class=w> </span><span class=nt>network_mode</span><span class=p>:</span><span class=w> </span><span class=s>"host"</span>
|
||||
<span class=w> </span><span class=nt>volumes</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=c1># left side is the host path, right side is the container path</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">/etc/wireguard:/etc/wireguard</span>
|
||||
@@ -20,7 +20,7 @@
|
||||
</code></pre></div> <p>By default, the webserver for the UI is listening on port <strong>8888</strong> on all available interfaces.</p> <p>Volumes for <code>/app/data</code> and <code>/app/config</code> should be used ensure data persistence across container restarts.</p> <h2 id=wireguard-interface-handling>WireGuard Interface Handling</h2> <p>WireGuard Portal supports managing WireGuard interfaces through three distinct deployment methods, providing flexibility based on your system architecture and operational preferences:</p> <ul> <li><strong>Directly on the host system</strong>: WireGuard Portal can control WireGuard interfaces natively on the host, without using containers. This setup is ideal for environments where direct access to system networking is preferred. To use this method, you need to set the network mode to <code>host</code> in your docker-compose.yml file. <div class=highlight><pre><span></span><code><span class=nt>services</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=nt>wg-portal</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
|
||||
<span class=w> </span><span class="l l-Scalar l-Scalar-Plain">network_mode</span><span class="p p-Indicator">:</span><span class=w> </span><span class=s>"host"</span>
|
||||
<span class=w> </span><span class="l l-Scalar l-Scalar-Plain">network_mode</span><span class="p p-Indicator">:</span><span class=w> </span><span class=s>"host"</span>
|
||||
<span class=w> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
|
||||
</code></pre></div><blockquote> <p><img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/26a0.svg title=:warning:> If host networking is used, the WireGuard Portal UI will be accessible on all the host's IP addresses if the listening address is set to <code>:8888</code> in the configuration file. To avoid this, you can bind the listening address to a specific IP address, for example, the loopback address (<code>127.0.0.1:8888</code>). It is also possible to deploy firewall rules to restrict access to the WireGuard Portal UI.</p> </blockquote> </li> </ul> <blockquote> <p><img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/26a0.svg title=:warning:> If the host is running <strong>systemd-networkd</strong>, routes managed by WireGuard Portal may be removed whenever systemd-networkd restarts, as it will clean up routes it considers "foreign". To prevent this, add the following to your host's network configuration (e.g. <code>/etc/systemd/networkd.conf</code> or a drop-in file): <div class=highlight><pre><span></span><code><span class=k>[Network]</span>
|
||||
<span class=na>ManageForeignRoutingPolicyRules</span><span class=o>=</span><span class=s>no</span>
|
||||
@@ -35,9 +35,9 @@
|
||||
<span class=w> </span><span class=nt>ports</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=c1># host port : container port</span>
|
||||
<span class=w> </span><span class=c1># WireGuard port, needs to match the port in wg-portal interface config (add one port mapping for each interface)</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"51820:51820/udp"</span><span class=w> </span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"51820:51820/udp"</span><span class=w> </span>
|
||||
<span class=w> </span><span class=c1># Web UI port</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"8888:8888/tcp"</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"8888:8888/tcp"</span>
|
||||
<span class=w> </span><span class=nt>sysctls</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">net.ipv4.conf.all.src_valid_mark=1</span>
|
||||
<span class=w> </span><span class=nt>volumes</span><span class=p>:</span>
|
||||
@@ -51,7 +51,7 @@
|
||||
<span class=w> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
|
||||
<span class=w> </span><span class=nt>cap_add</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">NET_ADMIN</span>
|
||||
<span class=w> </span><span class=nt>network_mode</span><span class=p>:</span><span class=w> </span><span class=s>"service:wireguard"</span><span class=w> </span><span class=c1># So we ensure to stay on the same network as the wireguard container.</span>
|
||||
<span class=w> </span><span class=nt>network_mode</span><span class=p>:</span><span class=w> </span><span class=s>"service:wireguard"</span><span class=w> </span><span class=c1># So we ensure to stay on the same network as the wireguard container.</span>
|
||||
<span class=w> </span><span class=nt>volumes</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=c1># host path : container path</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">./wg/etc:/etc/wireguard</span>
|
||||
@@ -66,8 +66,8 @@
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">NET_ADMIN</span>
|
||||
<span class=w> </span><span class=nt>ports</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=c1># host port : container port</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"51820:51820/udp"</span><span class=w> </span><span class=c1># WireGuard port, needs to match the port in wg-portal interface config</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"8888:8888/tcp"</span><span class=w> </span><span class=c1># Noticed that the port of the web UI is exposed in the wireguard container.</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"51820:51820/udp"</span><span class=w> </span><span class=c1># WireGuard port, needs to match the port in wg-portal interface config</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"8888:8888/tcp"</span><span class=w> </span><span class=c1># Noticed that the port of the web UI is exposed in the wireguard container.</span>
|
||||
<span class=w> </span><span class=nt>volumes</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">./wg/etc:/config/wg_confs</span><span class=w> </span><span class=c1># We share the configuration (wgx.conf) between wg-portal and wireguard</span>
|
||||
<span class=w> </span><span class=nt>sysctls</span><span class=p>:</span>
|
||||
|
||||
@@ -3,17 +3,17 @@
|
||||
<span class=w> </span><span class=nt>image</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">traefik:v3.3</span>
|
||||
<span class=w> </span><span class=nt>restart</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">unless-stopped</span>
|
||||
<span class=w> </span><span class=nt>command</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=c1>#- '--log.level=DEBUG'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--providers.docker.endpoint=unix:///var/run/docker.sock'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--providers.docker.exposedbydefault=false'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--entrypoints.web.address=:80'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--entrypoints.websecure.address=:443'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--entrypoints.websecure.http3'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--certificatesresolvers.letsencryptresolver.acme.httpchallenge=true'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--certificatesresolvers.letsencryptresolver.acme.httpchallenge.entrypoint=web'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--certificatesresolvers.letsencryptresolver.acme.email=your.email@domain.com'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--certificatesresolvers.letsencryptresolver.acme.storage=/letsencrypt/acme.json'</span>
|
||||
<span class=w> </span><span class=c1>#- '--certificatesresolvers.letsencryptresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory' # just for testing</span>
|
||||
<span class=w> </span><span class=c1>#- '--log.level=DEBUG'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--providers.docker.endpoint=unix:///var/run/docker.sock'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--providers.docker.exposedbydefault=false'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--entrypoints.web.address=:80'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--entrypoints.websecure.address=:443'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--entrypoints.websecure.http3'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--certificatesresolvers.letsencryptresolver.acme.httpchallenge=true'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--certificatesresolvers.letsencryptresolver.acme.httpchallenge.entrypoint=web'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--certificatesresolvers.letsencryptresolver.acme.email=your.email@domain.com'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'--certificatesresolvers.letsencryptresolver.acme.storage=/letsencrypt/acme.json'</span>
|
||||
<span class=w> </span><span class=c1>#- '--certificatesresolvers.letsencryptresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory' # just for testing</span>
|
||||
<span class=w> </span><span class=nt>ports</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">80:80</span><span class=w> </span><span class=c1># for HTTP</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">443:443/tcp</span><span class=w> </span><span class=c1># for HTTPS</span>
|
||||
@@ -22,12 +22,12 @@
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">acme-certs:/letsencrypt</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">/var/run/docker.sock:/var/run/docker.sock:ro</span>
|
||||
<span class=w> </span><span class=nt>labels</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.enable=true'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.enable=true'</span>
|
||||
<span class=w> </span><span class=c1># HTTP Catchall for redirecting HTTP -> HTTPS</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.dashboard-catchall.rule=Host(`wg.domain.com`)</span><span class=nv> </span><span class=s>&&</span><span class=nv> </span><span class=s>PathPrefix(`/`)'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.dashboard-catchall.entrypoints=web'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.dashboard-catchall.middlewares=redirect-to-https'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.dashboard-catchall.rule=Host(`wg.domain.com`)</span><span class=nv> </span><span class=s>&&</span><span class=nv> </span><span class=s>PathPrefix(`/`)'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.dashboard-catchall.entrypoints=web'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.dashboard-catchall.middlewares=redirect-to-https'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https'</span>
|
||||
|
||||
<span class=w> </span><span class=nt>wg-portal</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=nt>image</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">wgportal/wg-portal:v2</span>
|
||||
@@ -35,16 +35,16 @@
|
||||
<span class=w> </span><span class=nt>restart</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">unless-stopped</span>
|
||||
<span class=w> </span><span class=nt>logging</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=nt>options</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=nt>max-size</span><span class=p>:</span><span class=w> </span><span class=s>"10m"</span>
|
||||
<span class=w> </span><span class=nt>max-file</span><span class=p>:</span><span class=w> </span><span class=s>"3"</span>
|
||||
<span class=w> </span><span class=nt>max-size</span><span class=p>:</span><span class=w> </span><span class=s>"10m"</span>
|
||||
<span class=w> </span><span class=nt>max-file</span><span class=p>:</span><span class=w> </span><span class=s>"3"</span>
|
||||
<span class=w> </span><span class=nt>cap_add</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">NET_ADMIN</span>
|
||||
<span class=w> </span><span class=nt>ports</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=c1># host port : container port</span>
|
||||
<span class=w> </span><span class=c1># WireGuard port, needs to match the port in wg-portal interface config (add one port mapping for each interface)</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"51820:51820/udp"</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"51820:51820/udp"</span>
|
||||
<span class=w> </span><span class=c1># Web UI port (only available on localhost, Traefik will handle the HTTPS)</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"127.0.0.1:8888:8888/tcp"</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>"127.0.0.1:8888:8888/tcp"</span>
|
||||
<span class=w> </span><span class=nt>sysctls</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">net.ipv4.conf.all.src_valid_mark=1</span>
|
||||
<span class=w> </span><span class=nt>volumes</span><span class=p>:</span>
|
||||
@@ -52,12 +52,12 @@
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">./wg/data:/app/data</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">./wg/config:/app/config</span>
|
||||
<span class=w> </span><span class=nt>labels</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.enable=true'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.wgportal.rule=Host(`wg.domain.com`)'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.wgportal.entrypoints=websecure'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.wgportal.tls.certresolver=letsencryptresolver'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.wgportal.service=wgportal'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.services.wgportal.loadbalancer.server.port=8888'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.enable=true'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.wgportal.rule=Host(`wg.domain.com`)'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.wgportal.entrypoints=websecure'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.wgportal.tls.certresolver=letsencryptresolver'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.routers.wgportal.service=wgportal'</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>'traefik.http.services.wgportal.loadbalancer.server.port=8888'</span>
|
||||
|
||||
<span class=nt>volumes</span><span class=p>:</span>
|
||||
<span class=w> </span><span class=nt>acme-certs</span><span class=p>:</span>
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -3,7 +3,7 @@
|
||||
<span class=w> </span><span class=nt>default</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">mikrotik-prod</span>
|
||||
|
||||
<span class=w> </span><span class=nt>mikrotik</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>id</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">mikrotik-prod</span><span class=w> </span><span class=c1># unique id, not "local"</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>id</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">mikrotik-prod</span><span class=w> </span><span class=c1># unique id, not "local"</span>
|
||||
<span class=w> </span><span class=nt>display_name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">RouterOS RB5009</span><span class=w> </span><span class=c1># optional nice name</span>
|
||||
<span class=w> </span><span class=nt>api_url</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">https://10.10.10.10/rest</span>
|
||||
<span class=w> </span><span class=nt>api_user</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">wgportal</span>
|
||||
@@ -17,7 +17,7 @@
|
||||
<span class=w> </span><span class=nt>default</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">pfsense1</span>
|
||||
|
||||
<span class=w> </span><span class=nt>pfsense</span><span class=p>:</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>id</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">pfsense1</span><span class=w> </span><span class=c1># unique id, not "local"</span>
|
||||
<span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>id</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">pfsense1</span><span class=w> </span><span class=c1># unique id, not "local"</span>
|
||||
<span class=w> </span><span class=nt>display_name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">Main pfSense</span><span class=w> </span><span class=c1># optional nice name</span>
|
||||
<span class=w> </span><span class=nt>api_url</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">https://pfsense.example.com</span><span class=w> </span><span class=c1># no trailing /api/v2</span>
|
||||
<span class=w> </span><span class=nt>api_key</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">your-api-key</span>
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+19
-19
@@ -2,78 +2,78 @@
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/overview/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/configuration/examples/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/configuration/overview/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/getting-started/binaries/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/getting-started/docker/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/getting-started/helm/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/getting-started/reverse-proxy/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/getting-started/sources/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/monitoring/prometheus/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/rest-api/api-doc/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/upgrade/v1/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/usage/authentication/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/usage/backends/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/usage/general/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/usage/mail-templates/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/usage/security/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/usage/user-sync/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://wgportal.org/master/documentation/usage/webhooks/</loc>
|
||||
<lastmod>2026-08-11</lastmod>
|
||||
<lastmod>2026-08-27</lastmod>
|
||||
</url>
|
||||
</urlset>
|
||||
Binary file not shown.
Reference in New Issue
Block a user