Browse Source

Deployed 3ef258a to Pre-release with MkDocs 1.6.1 and mike 2.1.3

gh-pages
github-actions[bot] 5 days ago
parent
commit
a9bb7f49b5
  1. 315
      Pre-release/404.html
  2. 496
      Pre-release/advanced/api/index.html
  3. 317
      Pre-release/advanced/config/optional-config/index.html
  4. 319
      Pre-release/advanced/config/unattended-setup/index.html
  5. 440
      Pre-release/advanced/metrics/prometheus/index.html
  6. 315
      Pre-release/advanced/migrate/from-14-to-15/index.html
  7. 315
      Pre-release/advanced/migrate/index.html
  8. 16
      Pre-release/changelog.json
  9. 315
      Pre-release/contributing/general/index.html
  10. 319
      Pre-release/contributing/issues-and-pull-requests/index.html
  11. 319
      Pre-release/examples/tutorials/adguard/index.html
  12. 378
      Pre-release/examples/tutorials/auto-updates/index.html
  13. 355
      Pre-release/examples/tutorials/basic-installation/index.html
  14. 319
      Pre-release/examples/tutorials/caddy/index.html
  15. 326
      Pre-release/examples/tutorials/docker-run/index.html
  16. 320
      Pre-release/examples/tutorials/dockerless/index.html
  17. 367
      Pre-release/examples/tutorials/podman-nft/index.html
  18. 685
      Pre-release/examples/tutorials/traefik/index.html
  19. 1721
      Pre-release/faq/index.html
  20. 363
      Pre-release/getting-started/index.html
  21. 1518
      Pre-release/guides/2fa/index.html
  22. 1518
      Pre-release/guides/account/index.html
  23. 1518
      Pre-release/guides/admin/index.html
  24. 1518
      Pre-release/guides/clients/index.html
  25. 1518
      Pre-release/guides/login/index.html
  26. 421
      Pre-release/guides/setup/index.html
  27. 319
      Pre-release/index.html
  28. 2
      Pre-release/search/search_index.json
  29. 68
      Pre-release/sitemap.xml
  30. BIN
      Pre-release/sitemap.xml.gz

315
Pre-release/404.html

@ -16,7 +16,7 @@
<link rel="icon" href="/wg-easy/Pre-release/assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -142,11 +142,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -178,6 +180,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -230,6 +233,25 @@
<li class="md-tabs__item">
<a href="/wg-easy/Pre-release/faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="/wg-easy/Pre-release/getting-started/" class="md-tabs__link">
@ -314,6 +336,26 @@
<li class="md-tabs__item">
<a href="/wg-easy/Pre-release/guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -386,6 +428,28 @@
<li class="md-nav__item">
<a href="/wg-easy/Pre-release/faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="/wg-easy/Pre-release/getting-started/" class="md-nav__link">
@ -422,10 +486,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -438,8 +502,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -488,10 +552,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -504,8 +568,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -585,10 +649,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -601,8 +665,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -659,10 +723,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -675,8 +739,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -763,10 +827,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -779,8 +843,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -859,10 +923,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@ -875,8 +939,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -902,10 +966,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_1" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -918,8 +982,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1070,12 +1134,12 @@
<li class="md-nav__item">
<a href="/wg-easy/Pre-release/examples/tutorials/nginx/" class="md-nav__link">
<a href="/wg-easy/Pre-release/examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Podman + nftables
</span>
@ -1093,12 +1157,12 @@
<li class="md-nav__item">
<a href="/wg-easy/Pre-release/examples/tutorials/podman/" class="md-nav__link">
<a href="/wg-easy/Pre-release/examples/tutorials/traefik/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Traefik
</span>
@ -1109,6 +1173,64 @@
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
@ -1116,12 +1238,12 @@
<li class="md-nav__item">
<a href="/wg-easy/Pre-release/examples/tutorials/traefik/" class="md-nav__link">
<a href="/wg-easy/Pre-release/guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
2FA
</span>
@ -1132,9 +1254,116 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="/wg-easy/Pre-release/guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Edit Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="/wg-easy/Pre-release/guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Admin Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="/wg-easy/Pre-release/guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="/wg-easy/Pre-release/guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="/wg-easy/Pre-release/guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>

496
Pre-release/advanced/api/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -77,6 +77,11 @@
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#authentication" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
@ -148,11 +153,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -184,6 +191,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -236,6 +244,25 @@
<li class="md-tabs__item">
<a href="../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../getting-started/" class="md-tabs__link">
@ -322,6 +349,26 @@
<li class="md-tabs__item">
<a href="../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -394,6 +441,28 @@
<li class="md-nav__item">
<a href="../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../getting-started/" class="md-nav__link">
@ -433,10 +502,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
@ -449,8 +518,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -470,6 +539,19 @@
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
API
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
@ -482,6 +564,71 @@
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#authentication" class="md-nav__link">
<span class="md-ellipsis">
Authentication
</span>
</a>
<nav class="md-nav" aria-label="Authentication">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#authentication-example" class="md-nav__link">
<span class="md-ellipsis">
Authentication Example
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#endpoints" class="md-nav__link">
<span class="md-ellipsis">
Endpoints
</span>
</a>
<nav class="md-nav" aria-label="Endpoints">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#endpoints-example" class="md-nav__link">
<span class="md-ellipsis">
Endpoints Example
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
@ -507,10 +654,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -523,8 +670,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -604,10 +751,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -620,8 +767,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -678,10 +825,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -694,8 +841,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -782,10 +929,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -798,8 +945,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -878,10 +1025,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@ -894,8 +1041,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -921,10 +1068,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_1" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -937,8 +1084,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1089,12 +1236,12 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/nginx/" class="md-nav__link">
<a href="../../examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Podman + nftables
</span>
@ -1112,12 +1259,12 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/podman/" class="md-nav__link">
<a href="../../examples/tutorials/traefik/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Traefik
</span>
@ -1128,6 +1275,64 @@
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
@ -1135,12 +1340,12 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/traefik/" class="md-nav__link">
<a href="../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
2FA
</span>
@ -1151,9 +1356,116 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Edit Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Admin Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1184,6 +1496,62 @@
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#authentication" class="md-nav__link">
<span class="md-ellipsis">
Authentication
</span>
</a>
<nav class="md-nav" aria-label="Authentication">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#authentication-example" class="md-nav__link">
<span class="md-ellipsis">
Authentication Example
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#endpoints" class="md-nav__link">
<span class="md-ellipsis">
Endpoints
</span>
</a>
<nav class="md-nav" aria-label="Endpoints">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#endpoints-example" class="md-nav__link">
<span class="md-ellipsis">
Endpoints Example
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
@ -1216,7 +1584,47 @@
<h1>API</h1>
<p>TODO</p>
<p>You can use the API to interact with the application programmatically. The API is available at <code>/api</code> and supports both GET and POST requests. The API is designed to be simple and easy to use, with a focus on providing a consistent interface for all endpoints.</p>
<p>There is no documentation for the API yet, but this will be added as the underlying library supports it.</p>
<h2 id="authentication"><a class="toclink" href="#authentication">Authentication</a></h2>
<p>To use the API, you need to authenticate using Basic Authentication. The username and password are the same as the ones you use to log in to the web application.
If you use 2FA, the API will not work. You need to disable 2FA in the web application to use the API.</p>
<h3 id="authentication-example"><a class="toclink" href="#authentication-example">Authentication Example</a></h3>
<div class="highlight"><pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">requests</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">requests.auth</span><span class="w"> </span><span class="kn">import</span> <span class="n">HTTPBasicAuth</span>
<span class="n">url</span> <span class="o">=</span> <span class="s2">&quot;https://example.com:51821/api/client&quot;</span>
<span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">auth</span><span class="o">=</span><span class="n">HTTPBasicAuth</span><span class="p">(</span><span class="s1">&#39;username&#39;</span><span class="p">,</span> <span class="s1">&#39;password&#39;</span><span class="p">))</span>
<span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
<span class="nb">print</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Error: </span><span class="si">{</span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
</code></pre></div>
<h2 id="endpoints"><a class="toclink" href="#endpoints">Endpoints</a></h2>
<p>The Endpoints are not yet documented. But as file-based routing is used, you can find the endpoints in the <code>src/server/api</code> folder. The method is defined in the file name.</p>
<h3 id="endpoints-example"><a class="toclink" href="#endpoints-example">Endpoints Example</a></h3>
<table>
<thead>
<tr>
<th>File Name</th>
<th>Endpoint</th>
<th>Method</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>src/server/api/client.get.ts</code></td>
<td><code>/api/client</code></td>
<td>GET</td>
</tr>
<tr>
<td><code>src/server/api/setup/2.post.ts</code></td>
<td><code>/api/setup/2</code></td>
<td>POST</td>
</tr>
</tbody>
</table>

317
Pre-release/advanced/config/optional-config/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -148,11 +148,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -184,6 +186,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -236,6 +239,25 @@
<li class="md-tabs__item">
<a href="../../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../../getting-started/" class="md-tabs__link">
@ -322,6 +344,26 @@
<li class="md-tabs__item">
<a href="../../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -394,6 +436,28 @@
<li class="md-nav__item">
<a href="../../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/" class="md-nav__link">
@ -433,10 +497,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
@ -449,8 +513,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -499,10 +563,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2" checked>
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -515,8 +579,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -604,10 +668,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -620,8 +684,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -678,10 +742,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -694,8 +758,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -782,10 +846,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -798,8 +862,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -878,10 +942,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@ -894,8 +958,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -921,10 +985,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_1" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -937,8 +1001,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1089,12 +1153,12 @@
<li class="md-nav__item">
<a href="../../../examples/tutorials/nginx/" class="md-nav__link">
<a href="../../../examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Podman + nftables
</span>
@ -1112,12 +1176,12 @@
<li class="md-nav__item">
<a href="../../../examples/tutorials/podman/" class="md-nav__link">
<a href="../../../examples/tutorials/traefik/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Traefik
</span>
@ -1128,6 +1192,64 @@
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
@ -1135,12 +1257,12 @@
<li class="md-nav__item">
<a href="../../../examples/tutorials/traefik/" class="md-nav__link">
<a href="../../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
2FA
</span>
@ -1151,9 +1273,116 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Edit Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Admin Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1216,7 +1445,7 @@
<h1>Optional Configuration</h1>
<p>TODO</p>
<p>You can set these environment variables to configure the container. They are not required, but can be useful in some cases.</p>
<table>
<thead>
<tr>

319
Pre-release/advanced/config/unattended-setup/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -148,11 +148,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -184,6 +186,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -236,6 +239,25 @@
<li class="md-tabs__item">
<a href="../../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../../getting-started/" class="md-tabs__link">
@ -322,6 +344,26 @@
<li class="md-tabs__item">
<a href="../../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -394,6 +436,28 @@
<li class="md-nav__item">
<a href="../../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/" class="md-nav__link">
@ -433,10 +497,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
@ -449,8 +513,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -499,10 +563,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2" checked>
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -515,8 +579,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -604,10 +668,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -620,8 +684,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -678,10 +742,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -694,8 +758,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -782,10 +846,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -798,8 +862,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -878,10 +942,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@ -894,8 +958,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -921,10 +985,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_1" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -937,8 +1001,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1089,12 +1153,12 @@
<li class="md-nav__item">
<a href="../../../examples/tutorials/nginx/" class="md-nav__link">
<a href="../../../examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Podman + nftables
</span>
@ -1112,12 +1176,12 @@
<li class="md-nav__item">
<a href="../../../examples/tutorials/podman/" class="md-nav__link">
<a href="../../../examples/tutorials/traefik/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Traefik
</span>
@ -1128,6 +1192,64 @@
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
@ -1135,12 +1257,12 @@
<li class="md-nav__item">
<a href="../../../examples/tutorials/traefik/" class="md-nav__link">
<a href="../../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
2FA
</span>
@ -1151,9 +1273,116 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Edit Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Admin Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1285,8 +1514,8 @@
</div>
<div class="admonition note">
<p class="admonition-title">Security</p>
<p>The initial username and password is not checked for complexity. Make sure to set a long enough username and a secure password. Otherwise, the user won't be able to log in.</p>
<p>Its recommended to remove the variables after the setup is done to prevent the password from being exposed.</p>
<p>The initial username and password is not checked for complexity. Make sure to set a long enough username and password. Otherwise, the user won't be able to log in.</p>
<p>It's recommended to remove the variables after the setup is done to prevent the password from being exposed.</p>
</div>

440
Pre-release/advanced/metrics/prometheus/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -77,6 +77,11 @@
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#enable-prometheus" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
@ -148,11 +153,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -184,6 +191,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -236,6 +244,25 @@
<li class="md-tabs__item">
<a href="../../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../../getting-started/" class="md-tabs__link">
@ -322,6 +349,26 @@
<li class="md-tabs__item">
<a href="../../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -394,6 +441,28 @@
<li class="md-nav__item">
<a href="../../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/" class="md-nav__link">
@ -433,10 +502,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
@ -449,8 +518,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -499,10 +568,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -515,8 +584,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -596,10 +665,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" checked>
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -612,8 +681,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -633,6 +702,19 @@
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Prometheus
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
@ -645,6 +727,50 @@
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#enable-prometheus" class="md-nav__link">
<span class="md-ellipsis">
Enable Prometheus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#configure-prometheus" class="md-nav__link">
<span class="md-ellipsis">
Configure Prometheus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#grafana-dashboard" class="md-nav__link">
<span class="md-ellipsis">
Grafana Dashboard
</span>
</a>
</li>
</ul>
</nav>
</li>
@ -678,10 +804,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -694,8 +820,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -782,10 +908,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -798,8 +924,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -878,10 +1004,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@ -894,8 +1020,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -921,10 +1047,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_1" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -937,8 +1063,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1089,12 +1215,116 @@
<li class="md-nav__item">
<a href="../../../examples/tutorials/nginx/" class="md-nav__link">
<a href="../../../examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
Podman + nftables
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../examples/tutorials/traefik/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
2FA
</span>
@ -1112,12 +1342,12 @@
<li class="md-nav__item">
<a href="../../../examples/tutorials/podman/" class="md-nav__link">
<a href="../../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Edit Account
</span>
@ -1135,12 +1365,12 @@
<li class="md-nav__item">
<a href="../../../examples/tutorials/traefik/" class="md-nav__link">
<a href="../../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
Admin Panel
</span>
@ -1151,9 +1381,70 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1184,6 +1475,41 @@
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#enable-prometheus" class="md-nav__link">
<span class="md-ellipsis">
Enable Prometheus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#configure-prometheus" class="md-nav__link">
<span class="md-ellipsis">
Configure Prometheus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#grafana-dashboard" class="md-nav__link">
<span class="md-ellipsis">
Grafana Dashboard
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
@ -1216,8 +1542,32 @@
<h1>Prometheus</h1>
<p>TODO</p>
<!-- TOOD: add to docs: Grafana dashboard [21733](https://grafana.com/grafana/dashboards/21733-wireguard/) -->
<p>To monitor the WireGuard server, you can use <a href="https://prometheus.io/">Prometheus</a> and <a href="https://grafana.com/">Grafana</a>. The container exposes a <code>/metrics/prometheus</code> endpoint that can be scraped by Prometheus.</p>
<h2 id="enable-prometheus"><a class="toclink" href="#enable-prometheus">Enable Prometheus</a></h2>
<p>To enable Prometheus metrics, go to Admin Panel &gt; General and enable Prometheus.</p>
<p>You can optionally set a Bearer Password for the metrics endpoints. This is useful if you want to expose the metrics endpoint to the internet.</p>
<h2 id="configure-prometheus"><a class="toclink" href="#configure-prometheus">Configure Prometheus</a></h2>
<p>You need to add a scrape config to your Prometheus configuration file. Here is an example:</p>
<div class="highlight"><pre><span></span><code><span class="nt">scrape_configs</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">job_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;wg-easy&quot;</span>
<span class="w"> </span><span class="nt">scrape_interval</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">30s</span>
<span class="w"> </span><span class="nt">metrics_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/metrics/prometheus</span>
<span class="w"> </span><span class="nt">static_configs</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">targets</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;localhost:51821&quot;</span>
<span class="w"> </span><span class="nt">authorization</span><span class="p">:</span>
<span class="w"> </span><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Bearer</span>
<span class="w"> </span><span class="nt">credentials</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;SuperSecurePassword&quot;</span>
</code></pre></div>
<h2 id="grafana-dashboard"><a class="toclink" href="#grafana-dashboard">Grafana Dashboard</a></h2>
<p>You can use the following Grafana dashboard to visualize the metrics:</p>
<p><a href="https://grafana.com/grafana/dashboards/21733-wireguard/"><img alt="Grafana Dashboard" src="https://grafana.com/api/dashboards/21733/images/16863/image" /></a></p>
<p><a href="https://grafana.com/grafana/dashboards/21733-wireguard/">21733</a></p>
<div class="admonition note">
<p class="admonition-title">Unofficial</p>
<p>The Grafana dashboard is not official and is not maintained by the <code>wg-easy</code> team. If you have any issues with the dashboard, please contact the author of the dashboard.
See <a href="https://github.com/wg-easy/wg-easy/pull/1299">#1299</a> for more information.</p>
</div>

315
Pre-release/advanced/migrate/from-14-to-15/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -153,11 +153,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -189,6 +191,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -241,6 +244,25 @@
<li class="md-tabs__item">
<a href="../../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../../getting-started/" class="md-tabs__link">
@ -327,6 +349,26 @@
<li class="md-tabs__item">
<a href="../../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -399,6 +441,28 @@
<li class="md-nav__item">
<a href="../../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/" class="md-nav__link">
@ -438,10 +502,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
@ -454,8 +518,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -504,10 +568,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -520,8 +584,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -601,10 +665,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -617,8 +681,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -675,10 +739,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" checked>
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -691,8 +755,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -877,10 +941,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -893,8 +957,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -973,10 +1037,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@ -989,8 +1053,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -1016,10 +1080,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_1" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -1032,8 +1096,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1184,12 +1248,116 @@
<li class="md-nav__item">
<a href="../../../examples/tutorials/nginx/" class="md-nav__link">
<a href="../../../examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
Podman + nftables
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../examples/tutorials/traefik/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
2FA
</span>
@ -1207,12 +1375,12 @@
<li class="md-nav__item">
<a href="../../../examples/tutorials/podman/" class="md-nav__link">
<a href="../../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Edit Account
</span>
@ -1230,12 +1398,12 @@
<li class="md-nav__item">
<a href="../../../examples/tutorials/traefik/" class="md-nav__link">
<a href="../../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
Admin Panel
</span>
@ -1246,9 +1414,70 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>

315
Pre-release/advanced/migrate/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -148,11 +148,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -184,6 +186,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -236,6 +239,25 @@
<li class="md-tabs__item">
<a href="../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../getting-started/" class="md-tabs__link">
@ -322,6 +344,26 @@
<li class="md-tabs__item">
<a href="../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -394,6 +436,28 @@
<li class="md-nav__item">
<a href="../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../getting-started/" class="md-nav__link">
@ -433,10 +497,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
@ -449,8 +513,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -499,10 +563,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -515,8 +579,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -596,10 +660,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -612,8 +676,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -670,10 +734,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" checked>
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -686,8 +750,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -782,10 +846,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -798,8 +862,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -878,10 +942,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@ -894,8 +958,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -921,10 +985,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_1" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -937,8 +1001,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1089,12 +1153,12 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/nginx/" class="md-nav__link">
<a href="../../examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Podman + nftables
</span>
@ -1112,12 +1176,12 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/podman/" class="md-nav__link">
<a href="../../examples/tutorials/traefik/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Traefik
</span>
@ -1128,6 +1192,64 @@
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
@ -1135,12 +1257,12 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/traefik/" class="md-nav__link">
<a href="../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
2FA
</span>
@ -1151,9 +1273,116 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Edit Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Admin Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>

16
Pre-release/changelog.json

@ -1,16 +0,0 @@
{
"1": "Initial version. Enjoy!",
"2": "You can now rename a client & update the address. Enjoy!",
"3": "Many improvements and small changes. Enjoy!",
"4": "Now with pretty charts for client's network speed. Enjoy!",
"5": "Many small improvements & feature requests. Enjoy!",
"6": "Many small performance improvements & bug fixes. Enjoy!",
"7": "Improved the look & performance of the upload/download chart.",
"8": "Updated to Node.js v18.",
"9": "Fixed issue running on devices with older kernels.",
"10": "Added sessionless HTTP API auth & automatic dark mode.",
"11": "Multilanguage Support & various bugfixes.",
"12": "UI_TRAFFIC_STATS, Import json configurations with no PreShared-Key, allow clients with no privateKey & more.",
"13": "New framework (h3), UI_CHART_TYPE, some bugfixes & more.",
"14": "Home Assistent support, PASSWORD_HASH (inc. Helper), translation updates bugfixes & more."
}

315
Pre-release/contributing/general/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -153,11 +153,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -189,6 +191,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -241,6 +244,25 @@
<li class="md-tabs__item">
<a href="../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../getting-started/" class="md-tabs__link">
@ -327,6 +349,26 @@
<li class="md-tabs__item">
<a href="../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -399,6 +441,28 @@
<li class="md-nav__item">
<a href="../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../getting-started/" class="md-nav__link">
@ -435,10 +499,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -451,8 +515,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -501,10 +565,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -517,8 +581,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -598,10 +662,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -614,8 +678,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -672,10 +736,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -688,8 +752,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -779,10 +843,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
@ -795,8 +859,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -931,10 +995,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@ -947,8 +1011,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -974,10 +1038,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_1" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -990,8 +1054,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1142,12 +1206,139 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/nginx/" class="md-nav__link">
<a href="../../examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
Podman + nftables
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../examples/tutorials/traefik/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
2FA
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Edit Account
</span>
@ -1165,12 +1356,12 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/podman/" class="md-nav__link">
<a href="../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Admin Panel
</span>
@ -1188,12 +1379,12 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/traefik/" class="md-nav__link">
<a href="../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
Edit Client
</span>
@ -1204,9 +1395,47 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>

319
Pre-release/contributing/issues-and-pull-requests/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -153,11 +153,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -189,6 +191,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -241,6 +244,25 @@
<li class="md-tabs__item">
<a href="../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../getting-started/" class="md-tabs__link">
@ -327,6 +349,26 @@
<li class="md-tabs__item">
<a href="../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -399,6 +441,28 @@
<li class="md-nav__item">
<a href="../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../getting-started/" class="md-nav__link">
@ -435,10 +499,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -451,8 +515,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -501,10 +565,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -517,8 +581,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -598,10 +662,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -614,8 +678,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -672,10 +736,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -688,8 +752,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -779,10 +843,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
@ -795,8 +859,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -961,10 +1025,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@ -977,8 +1041,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -1004,10 +1068,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_1" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -1020,8 +1084,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1172,12 +1236,139 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/nginx/" class="md-nav__link">
<a href="../../examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
Podman + nftables
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../examples/tutorials/traefik/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
2FA
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Edit Account
</span>
@ -1195,12 +1386,12 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/podman/" class="md-nav__link">
<a href="../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Admin Panel
</span>
@ -1218,12 +1409,12 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/traefik/" class="md-nav__link">
<a href="../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
Edit Client
</span>
@ -1234,9 +1425,47 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1369,8 +1598,8 @@
<p>By raising issues, I agree to these terms and I understand, that the rules set for the issue tracker will help both maintainers as well as everyone to find a solution.</p>
<p>Maintainers take the time to improve on this project and help by solving issues together. It is therefore expected from others to make an effort and <strong>comply with the rules</strong>.</p>
<h3 id="filing-a-bug-report"><a class="toclink" href="#filing-a-bug-report">Filing a Bug Report</a></h3>
<p>Thank you for participating in this project and reporting a bug. wg-easy is a community-driven project, and each contribution counts!</p>
<p>Maintainers and moderators are volunteers. We greatly appreciate reports that take the time to provide detailed information via the template, enabling us to help you in the best and quickest way. Ignoring the template provided may seem easier, but discourages receiving any support (<em>via assignment of the label <code>meta/no template - no support</code></em>).</p>
<p>Thank you for participating in this project and reporting a bug. <code>wg-easy</code> is a community-driven project, and each contribution counts!</p>
<p>Maintainers and moderators are volunteers. We greatly appreciate reports that take the time to provide detailed information via the template, enabling us to help you in the best and quickest way. Ignoring the template provided may seem easier, but discourages receiving any support.</p>
<p>Markdown formatting can be used in almost all text fields (<em>unless stated otherwise in the description</em>).</p>
<p>Be as precise as possible, and if in doubt, it's best to add more information that too few.</p>
<p>When an option is marked with "not officially supported" / "unsupported", then support is dependent on availability from specific maintainers.</p>

319
Pre-release/examples/tutorials/adguard/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -148,11 +148,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -184,6 +186,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -236,6 +239,25 @@
<li class="md-tabs__item">
<a href="../../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../../getting-started/" class="md-tabs__link">
@ -324,6 +346,26 @@
<li class="md-tabs__item">
<a href="../../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -396,6 +438,28 @@
<li class="md-nav__item">
<a href="../../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/" class="md-nav__link">
@ -432,10 +496,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -448,8 +512,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -498,10 +562,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -514,8 +578,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -595,10 +659,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -611,8 +675,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -669,10 +733,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -685,8 +749,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -773,10 +837,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -789,8 +853,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -872,10 +936,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="">
@ -888,8 +952,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -915,10 +979,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" checked>
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -931,8 +995,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1091,12 +1155,12 @@
<li class="md-nav__item">
<a href="../nginx/" class="md-nav__link">
<a href="../podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Podman + nftables
</span>
@ -1114,12 +1178,12 @@
<li class="md-nav__item">
<a href="../podman/" class="md-nav__link">
<a href="../traefik/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Traefik
</span>
@ -1130,6 +1194,64 @@
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
@ -1137,12 +1259,12 @@
<li class="md-nav__item">
<a href="../traefik/" class="md-nav__link">
<a href="../../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
2FA
</span>
@ -1153,9 +1275,116 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Edit Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Admin Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1218,7 +1447,9 @@
<h1>AdGuard Home</h1>
<p>TODO</p>
<p>It seems like the Docs on how to setup AdGuard Home are not available yet.</p>
<p>Feel free to create a PR and add them here.</p>
<!-- TODO -->

378
Pre-release/examples/tutorials/auto-updates/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -153,11 +153,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -189,6 +191,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -241,6 +244,25 @@
<li class="md-tabs__item">
<a href="../../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../../getting-started/" class="md-tabs__link">
@ -329,6 +351,26 @@
<li class="md-tabs__item">
<a href="../../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -401,6 +443,28 @@
<li class="md-nav__item">
<a href="../../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/" class="md-nav__link">
@ -437,10 +501,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -453,8 +517,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -503,10 +567,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -519,8 +583,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -600,10 +664,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -616,8 +680,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -674,10 +738,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -690,8 +754,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -778,10 +842,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -794,8 +858,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -877,10 +941,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="">
@ -893,8 +957,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -920,10 +984,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" checked>
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -936,8 +1000,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1025,6 +1089,21 @@
</span>
</a>
<nav class="md-nav" aria-label="Docker Compose">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#watchtower" class="md-nav__link">
<span class="md-ellipsis">
Watchtower
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
@ -1153,12 +1232,12 @@
<li class="md-nav__item">
<a href="../nginx/" class="md-nav__link">
<a href="../podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Podman + nftables
</span>
@ -1176,12 +1255,12 @@
<li class="md-nav__item">
<a href="../podman/" class="md-nav__link">
<a href="../traefik/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Traefik
</span>
@ -1192,6 +1271,64 @@
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
@ -1199,12 +1336,12 @@
<li class="md-nav__item">
<a href="../traefik/" class="md-nav__link">
<a href="../../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
2FA
</span>
@ -1215,9 +1352,116 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Edit Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Admin Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1261,6 +1505,21 @@
</span>
</a>
<nav class="md-nav" aria-label="Docker Compose">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#watchtower" class="md-nav__link">
<span class="md-ellipsis">
Watchtower
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
@ -1317,10 +1576,39 @@
<h2 id="docker-compose"><a class="toclink" href="#docker-compose">Docker Compose</a></h2>
<p>With Docker Compose <code>wg-easy</code> can be updated with a single command:</p>
<p>Replace <code>$DIR</code> with the directory where your <code>docker-compose.yml</code> is located.</p>
<div class="highlight"><pre><span></span><code><span class="nb">cd</span><span class="w"> </span><span class="nv">$DIR</span>
<div class="highlight"><pre><span></span><code><span class="nb">cd</span><span class="w"> </span>/etc/docker/containers/wg-easy
sudo<span class="w"> </span>docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w"> </span>-d<span class="w"> </span>--pull<span class="w"> </span>always
</code></pre></div>
<h3 id="watchtower"><a class="toclink" href="#watchtower">Watchtower</a></h3>
<p>If you want the updates to be fully automatic you can install Watchtower. This will check for updates every day at 4:00 AM and update the container if a new version is available.</p>
<p>File: <code>/etc/docker/containers/watchtower/docker-compose.yml</code></p>
<div class="highlight"><pre><span></span><code><span class="nt">services</span><span class="p">:</span>
<span class="w"> </span><span class="nt">watchtower</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">containrrr/watchtower:latest</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">/var/run/docker.sock:/var/run/docker.sock</span>
<span class="w"> </span><span class="nt">env_file</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">watchtower.env</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>
</code></pre></div>
<p>File: <code>/etc/docker/containers/watchtower/watchtower.env</code></p>
<div class="highlight"><pre><span></span><code>WATCHTOWER_CLEANUP=true
WATCHTOWER_SCHEDULE=0 0 4 * * *
TZ=Europe/Berlin
# Email
# WATCHTOWER_NOTIFICATIONS_LEVEL=info
# WATCHTOWER_NOTIFICATIONS=email
# [email protected]
# [email protected]
# WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.example.com
# [email protected]
# WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=&quot;SuperSecurePassword&quot;
# WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
</code></pre></div>
<div class="highlight"><pre><span></span><code><span class="nb">cd</span><span class="w"> </span>/etc/docker/containers/watchtower
sudo<span class="w"> </span>docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div>
<h2 id="docker-run"><a class="toclink" href="#docker-run">Docker Run</a></h2>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>docker<span class="w"> </span>stop<span class="w"> </span>wg-easy
sudo<span class="w"> </span>docker<span class="w"> </span>rm<span class="w"> </span>wg-easy

355
Pre-release/examples/tutorials/basic-installation/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -153,11 +153,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -189,6 +191,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -241,6 +244,25 @@
<li class="md-tabs__item">
<a href="../../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../../getting-started/" class="md-tabs__link">
@ -329,6 +351,26 @@
<li class="md-tabs__item">
<a href="../../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -401,6 +443,28 @@
<li class="md-nav__item">
<a href="../../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/" class="md-nav__link">
@ -437,10 +501,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -453,8 +517,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -503,10 +567,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -519,8 +583,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -600,10 +664,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -616,8 +680,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -674,10 +738,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -690,8 +754,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -778,10 +842,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -794,8 +858,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -877,10 +941,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="">
@ -893,8 +957,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -920,10 +984,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" checked>
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -936,8 +1000,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1084,15 +1148,6 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#access-the-web-ui" class="md-nav__link">
<span class="md-ellipsis">
Access the Web UI
</span>
</a>
</li>
<li class="md-nav__item">
@ -1198,12 +1253,116 @@
<li class="md-nav__item">
<a href="../nginx/" class="md-nav__link">
<a href="../podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
Podman + nftables
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../traefik/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
2FA
</span>
@ -1221,12 +1380,12 @@
<li class="md-nav__item">
<a href="../podman/" class="md-nav__link">
<a href="../../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Edit Account
</span>
@ -1244,12 +1403,12 @@
<li class="md-nav__item">
<a href="../traefik/" class="md-nav__link">
<a href="../../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
Admin Panel
</span>
@ -1260,9 +1419,70 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1342,15 +1562,6 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#access-the-web-ui" class="md-nav__link">
<span class="md-ellipsis">
Access the Web UI
</span>
</a>
</li>
<li class="md-nav__item">
@ -1420,35 +1631,35 @@
<ol>
<li>Create a directory for the configuration files (you can choose any directory you like):</li>
</ol>
<div class="highlight"><pre><span></span><code><span class="nv">DIR</span><span class="o">=</span>/docker/wg-easy
sudo<span class="w"> </span>mkdir<span class="w"> </span>-p<span class="w"> </span><span class="nv">$DIR</span>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>mkdir<span class="w"> </span>-p<span class="w"> </span>/etc/docker/containers/wg-easy
</code></pre></div>
<ol>
<li>Download docker compose file</li>
</ol>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>curl<span class="w"> </span>-o<span class="w"> </span><span class="nv">$DIR</span>/docker-compose.yml<span class="w"> </span>https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>curl<span class="w"> </span>-o<span class="w"> </span>/etc/docker/containers/wg-easy/docker-compose.yml<span class="w"> </span>https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml
</code></pre></div>
<ol>
<li>Start <code>wg-easy</code></li>
</ol>
<div class="highlight"><pre><span></span><code><span class="w"> </span>sudo<span class="w"> </span>docker-compose<span class="w"> </span>-f<span class="w"> </span><span class="nv">$DIR</span>/docker-compose.yml<span class="w"> </span>up<span class="w"> </span>-d
<div class="highlight"><pre><span></span><code><span class="w"> </span><span class="nb">cd</span><span class="w"> </span>/etc/docker/containers/wg-easy
<span class="w"> </span>sudo<span class="w"> </span>docker-compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div>
<h2 id="setup-firewall"><a class="toclink" href="#setup-firewall">Setup Firewall</a></h2>
<p>If you are using a firewall, you need to open the following ports:</p>
<ul>
<li>UDP 51820 (WireGuard)</li>
<li>TCP 51821 (Web UI)</li>
</ul>
<p>These ports can be changed, so if you change them you have to update your firewall rules accordingly.</p>
<h2 id="setup-reverse-proxy"><a class="toclink" href="#setup-reverse-proxy">Setup Reverse Proxy</a></h2>
<p>TODO</p>
<h2 id="access-the-web-ui"><a class="toclink" href="#access-the-web-ui">Access the Web UI</a></h2>
<p>Open your browser and navigate to <code>https://&lt;your-domain&gt;:51821</code> or <code>https://&lt;your-ip&gt;:51821</code>.</p>
<p>Follow the instructions to set up your WireGuard VPN.</p>
<ul>
<li>To setup traefik follow the instructions here: <a href="../traefik/">Traefik</a></li>
<li>To setup caddy follow the instructions here: <a href="../caddy/">Caddy</a></li>
</ul>
<h2 id="update-wg-easy"><a class="toclink" href="#update-wg-easy">Update <code>wg-easy</code></a></h2>
<p>To update <code>wg-easy</code> to the latest version, run:</p>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>docker-compose<span class="w"> </span>-f<span class="w"> </span><span class="nv">$DIR</span>/docker-compose.yml<span class="w"> </span>pull
sudo<span class="w"> </span>docker-compose<span class="w"> </span>-f<span class="w"> </span><span class="nv">$DIR</span>/docker-compose.yml<span class="w"> </span>up<span class="w"> </span>-d
<div class="highlight"><pre><span></span><code><span class="nb">cd</span><span class="w"> </span>/etc/docker/containers/wg-easy
sudo<span class="w"> </span>docker-compose<span class="w"> </span>pull
sudo<span class="w"> </span>docker-compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div>
<h2 id="auto-update"><a class="toclink" href="#auto-update">Auto Update</a></h2>
<p>If you want to enable auto-updates, follow the instructions here: <a href="../auto-updates/">Auto Updates</a></p>

319
Pre-release/examples/tutorials/caddy/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -148,11 +148,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -184,6 +186,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -236,6 +239,25 @@
<li class="md-tabs__item">
<a href="../../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../../getting-started/" class="md-tabs__link">
@ -324,6 +346,26 @@
<li class="md-tabs__item">
<a href="../../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -396,6 +438,28 @@
<li class="md-nav__item">
<a href="../../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/" class="md-nav__link">
@ -432,10 +496,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -448,8 +512,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -498,10 +562,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -514,8 +578,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -595,10 +659,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -611,8 +675,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -669,10 +733,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -685,8 +749,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -773,10 +837,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -789,8 +853,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -872,10 +936,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="">
@ -888,8 +952,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -915,10 +979,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" checked>
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -931,8 +995,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1091,12 +1155,12 @@
<li class="md-nav__item">
<a href="../nginx/" class="md-nav__link">
<a href="../podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Podman + nftables
</span>
@ -1114,12 +1178,12 @@
<li class="md-nav__item">
<a href="../podman/" class="md-nav__link">
<a href="../traefik/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Traefik
</span>
@ -1130,6 +1194,64 @@
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
@ -1137,12 +1259,12 @@
<li class="md-nav__item">
<a href="../traefik/" class="md-nav__link">
<a href="../../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
2FA
</span>
@ -1153,9 +1275,116 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Edit Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Admin Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1218,7 +1447,9 @@
<h1>Caddy</h1>
<p>TODO</p>
<p>It seems like the Docs on how to setup Caddy are not available yet.</p>
<p>Feel free to create a PR and add them here.</p>
<!-- TODO -->

326
Pre-release/examples/tutorials/docker-run/index.html

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -148,11 +148,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -184,6 +186,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -236,6 +239,25 @@
<li class="md-tabs__item">
<a href="../../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../../getting-started/" class="md-tabs__link">
@ -324,6 +346,26 @@
<li class="md-tabs__item">
<a href="../../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -396,6 +438,28 @@
<li class="md-nav__item">
<a href="../../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/" class="md-nav__link">
@ -432,10 +496,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -448,8 +512,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -498,10 +562,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -514,8 +578,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -595,10 +659,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -611,8 +675,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -669,10 +733,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -685,8 +749,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -773,10 +837,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -789,8 +853,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -872,10 +936,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="">
@ -888,8 +952,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -915,10 +979,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" checked>
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -931,8 +995,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1091,12 +1155,12 @@
<li class="md-nav__item">
<a href="../nginx/" class="md-nav__link">
<a href="../podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Podman + nftables
</span>
@ -1114,12 +1178,12 @@
<li class="md-nav__item">
<a href="../podman/" class="md-nav__link">
<a href="../traefik/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Traefik
</span>
@ -1130,6 +1194,64 @@
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
@ -1137,12 +1259,12 @@
<li class="md-nav__item">
<a href="../traefik/" class="md-nav__link">
<a href="../../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
2FA
</span>
@ -1153,9 +1275,116 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Edit Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Admin Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1219,7 +1448,7 @@
<h1>Docker Run</h1>
<p>To setup the IPv6 Network, simply run once:</p>
<div class="highlight"><pre><span></span><code><span class="w"> </span>docker<span class="w"> </span>network<span class="w"> </span>create<span class="w"> </span><span class="se">\</span>
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>network<span class="w"> </span>create<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>-d<span class="w"> </span>bridge<span class="w"> </span>--ipv6<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>-d<span class="w"> </span>default<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>--subnet<span class="w"> </span><span class="m">10</span>.42.42.0/24<span class="w"> </span><span class="se">\</span>
@ -1227,8 +1456,8 @@
</code></pre></div>
<!-- ref: major version -->
<p>To automatically install &amp; run ``wg-easy, simply run:</p>
<div class="highlight"><pre><span></span><code><span class="w"> </span>docker<span class="w"> </span>run<span class="w"> </span>-d<span class="w"> </span><span class="se">\</span>
<p>To automatically install &amp; run <code>wg-easy</code>, simply run:</p>
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>run<span class="w"> </span>-d<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>--net<span class="w"> </span>wg<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>-e<span class="w"> </span><span class="nv">INSECURE</span><span class="o">=</span><span class="nb">true</span><span class="w"> </span><span class="se">\</span>
<span class="w"> </span>--name<span class="w"> </span>wg-easy<span class="w"> </span><span class="se">\</span>
@ -1248,10 +1477,7 @@
<span class="w"> </span>--restart<span class="w"> </span>unless-stopped<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>ghcr.io/wg-easy/wg-easy:15
</code></pre></div>
<p>The Web UI will now be available on <code>http://0.0.0.0:51821</code>.</p>
<blockquote>
<p>💡 Your configuration files will be saved in <code>~/.wg-easy</code></p>
</blockquote>
<p>The Web UI will now be available at <a href="http://0.0.0.0:51821">http://0.0.0.0:51821</a>.</p>

320
Pre-release/examples/tutorials/dockerless/index.html

@ -18,11 +18,11 @@
<link rel="prev" href="../docker-run/">
<link rel="next" href="../nginx/">
<link rel="next" href="../podman-nft/">
<link rel="icon" href="../../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -148,11 +148,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -184,6 +186,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -236,6 +239,25 @@
<li class="md-tabs__item">
<a href="../../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../../getting-started/" class="md-tabs__link">
@ -324,6 +346,26 @@
<li class="md-tabs__item">
<a href="../../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -396,6 +438,28 @@
<li class="md-nav__item">
<a href="../../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/" class="md-nav__link">
@ -432,10 +496,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -448,8 +512,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -498,10 +562,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -514,8 +578,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -595,10 +659,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -611,8 +675,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -669,10 +733,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -685,8 +749,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -773,10 +837,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -789,8 +853,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -872,10 +936,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="">
@ -888,8 +952,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -915,10 +979,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" checked>
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -931,8 +995,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1091,12 +1155,12 @@
<li class="md-nav__item">
<a href="../nginx/" class="md-nav__link">
<a href="../podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Podman + nftables
</span>
@ -1114,12 +1178,12 @@
<li class="md-nav__item">
<a href="../podman/" class="md-nav__link">
<a href="../traefik/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Traefik
</span>
@ -1130,6 +1194,64 @@
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
@ -1137,12 +1259,12 @@
<li class="md-nav__item">
<a href="../traefik/" class="md-nav__link">
<a href="../../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
2FA
</span>
@ -1153,9 +1275,116 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Edit Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Admin Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1218,7 +1447,8 @@
<h1>Without Docker</h1>
<p>TODO</p>
<p>This is currently not yet supported.</p>
<!-- TODO -->

367
Pre-release/examples/tutorials/podman/index.html → Pre-release/examples/tutorials/podman-nft/index.html

File diff suppressed because one or more lines are too long

685
Pre-release/examples/tutorials/traefik/index.html

@ -15,12 +15,14 @@
<link rel="canonical" href="https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/traefik/">
<link rel="prev" href="../podman/">
<link rel="prev" href="../podman-nft/">
<link rel="next" href="../../../guides/2fa/">
<link rel="icon" href="../../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -75,6 +77,11 @@
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#create-docker-compose-project" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
@ -146,11 +153,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -182,6 +191,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -234,6 +244,25 @@
<li class="md-tabs__item">
<a href="../../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../../getting-started/" class="md-tabs__link">
@ -322,6 +351,26 @@
<li class="md-tabs__item">
<a href="../../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -394,6 +443,28 @@
<li class="md-nav__item">
<a href="../../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/" class="md-nav__link">
@ -430,10 +501,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -446,8 +517,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -496,10 +567,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -512,8 +583,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -593,10 +664,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -609,8 +680,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -667,10 +738,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -683,8 +754,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -771,10 +842,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -787,8 +858,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -870,10 +941,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="">
@ -886,8 +957,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -913,10 +984,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" checked>
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -929,8 +1000,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1081,12 +1152,12 @@
<li class="md-nav__item">
<a href="../nginx/" class="md-nav__link">
<a href="../podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
Podman + nftables
</span>
@ -1101,59 +1172,335 @@
<li class="md-nav__item">
<a href="../podman/" class="md-nav__link">
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Traefik
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Podman
Traefik
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#create-docker-compose-project" class="md-nav__link">
<span class="md-ellipsis">
Create docker compose project
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#create-docker-compose-file" class="md-nav__link">
<span class="md-ellipsis">
Create docker compose file
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#create-traefikyml" class="md-nav__link">
<span class="md-ellipsis">
Create traefik.yml
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#create-traefik_dynamicyml" class="md-nav__link">
<span class="md-ellipsis">
Create traefik_dynamic.yml
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#create-acmejson" class="md-nav__link">
<span class="md-ellipsis">
Create acme.json
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#create-network" class="md-nav__link">
<span class="md-ellipsis">
Create network
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#start-traefik" class="md-nav__link">
<span class="md-ellipsis">
Start traefik
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#add-labels-to-wg-easy" class="md-nav__link">
<span class="md-ellipsis">
Add Labels to wg-easy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#restart-wg-easy" class="md-nav__link">
<span class="md-ellipsis">
Restart wg-easy
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<li class="md-nav__item md-nav__item--nested">
<a href="./" class="md-nav__link md-nav__link--active">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Traefik
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
2FA
</span>
</a>
</li>
</ul>
</nav>
<li class="md-nav__item">
<a href="../../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Edit Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Admin Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1184,6 +1531,95 @@
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#create-docker-compose-project" class="md-nav__link">
<span class="md-ellipsis">
Create docker compose project
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#create-docker-compose-file" class="md-nav__link">
<span class="md-ellipsis">
Create docker compose file
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#create-traefikyml" class="md-nav__link">
<span class="md-ellipsis">
Create traefik.yml
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#create-traefik_dynamicyml" class="md-nav__link">
<span class="md-ellipsis">
Create traefik_dynamic.yml
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#create-acmejson" class="md-nav__link">
<span class="md-ellipsis">
Create acme.json
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#create-network" class="md-nav__link">
<span class="md-ellipsis">
Create network
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#start-traefik" class="md-nav__link">
<span class="md-ellipsis">
Start traefik
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#add-labels-to-wg-easy" class="md-nav__link">
<span class="md-ellipsis">
Add Labels to wg-easy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#restart-wg-easy" class="md-nav__link">
<span class="md-ellipsis">
Restart wg-easy
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
@ -1216,7 +1652,152 @@
<h1>Traefik</h1>
<p>TODO</p>
<div class="admonition note">
<p class="admonition-title">Opinionated</p>
<p>This guide is opinionated. If you use other conventions or folder layouts, feel free to change the commands and paths.</p>
</div>
<h2 id="create-docker-compose-project"><a class="toclink" href="#create-docker-compose-project">Create docker compose project</a></h2>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>mkdir<span class="w"> </span>-p<span class="w"> </span>/etc/docker/containers/traefik
<span class="nb">cd</span><span class="w"> </span>/etc/docker/containers/traefik
</code></pre></div>
<h2 id="create-docker-compose-file"><a class="toclink" href="#create-docker-compose-file">Create docker compose file</a></h2>
<p>File: <code>/etc/docker/containers/traefik/docker-compose.yml</code></p>
<div class="highlight"><pre><span></span><code><span class="nt">services</span><span class="p">:</span>
<span class="w"> </span><span class="nt">traefik</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">traefik:3.3</span>
<span class="w"> </span><span class="nt">container_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik</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">ports</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;80:80&quot;</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;443:443/tcp&quot;</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;443:443/udp&quot;</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">/var/run/docker.sock:/var/run/docker.sock</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/etc/docker/volumes/traefik/traefik.yml:/traefik.yml:ro</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/etc/docker/volumes/traefik/traefik_dynamic.yml:/traefik_dynamic.yml:ro</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/etc/docker/volumes/traefik/acme.json:/acme.json</span>
<span class="w"> </span><span class="nt">networks</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">traefik</span>
<span class="nt">networks</span><span class="p">:</span>
<span class="w"> </span><span class="nt">traefik</span><span class="p">:</span>
<span class="w"> </span><span class="nt">external</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
</code></pre></div>
<h2 id="create-traefikyml"><a class="toclink" href="#create-traefikyml">Create traefik.yml</a></h2>
<p>File: <code>/etc/docker/volumes/traefik/traefik.yml</code></p>
<div class="highlight"><pre><span></span><code><span class="nt">log</span><span class="p">:</span>
<span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">INFO</span>
<span class="nt">entryPoints</span><span class="p">:</span>
<span class="w"> </span><span class="nt">web</span><span class="p">:</span>
<span class="w"> </span><span class="nt">address</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;:80/tcp&quot;</span>
<span class="w"> </span><span class="nt">http</span><span class="p">:</span>
<span class="w"> </span><span class="nt">redirections</span><span class="p">:</span>
<span class="w"> </span><span class="nt">entryPoint</span><span class="p">:</span>
<span class="w"> </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">websecure</span>
<span class="w"> </span><span class="nt">scheme</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https</span>
<span class="w"> </span><span class="nt">websecure</span><span class="p">:</span>
<span class="w"> </span><span class="nt">address</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;:443/tcp&quot;</span>
<span class="w"> </span><span class="nt">http</span><span class="p">:</span>
<span class="w"> </span><span class="nt">middlewares</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">compress@file</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">hsts@file</span>
<span class="w"> </span><span class="nt">tls</span><span class="p">:</span>
<span class="w"> </span><span class="nt">certResolver</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">letsencrypt</span>
<span class="w"> </span><span class="nt">http3</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">{}</span>
<span class="nt">api</span><span class="p">:</span>
<span class="w"> </span><span class="nt">dashboard</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
<span class="nt">certificatesResolvers</span><span class="p">:</span>
<span class="w"> </span><span class="nt">letsencrypt</span><span class="p">:</span>
<span class="w"> </span><span class="nt">acme</span><span class="p">:</span>
<span class="w"> </span><span class="nt">email</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">[email protected]$</span>
<span class="w"> </span><span class="nt">storage</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">acme.json</span>
<span class="w"> </span><span class="nt">httpChallenge</span><span class="p">:</span>
<span class="w"> </span><span class="nt">entryPoint</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">web</span>
<span class="nt">providers</span><span class="p">:</span>
<span class="w"> </span><span class="nt">docker</span><span class="p">:</span>
<span class="w"> </span><span class="nt">watch</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">network</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik</span>
<span class="w"> </span><span class="nt">exposedByDefault</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span>
<span class="w"> </span><span class="nt">file</span><span class="p">:</span>
<span class="w"> </span><span class="nt">filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik_dynamic.yml</span>
<span class="nt">serversTransport</span><span class="p">:</span>
<span class="w"> </span><span class="nt">insecureSkipVerify</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
</code></pre></div>
<h2 id="create-traefik_dynamicyml"><a class="toclink" href="#create-traefik_dynamicyml">Create traefik_dynamic.yml</a></h2>
<p>File: <code>/etc/docker/volumes/traefik/traefik_dynamic.yml</code></p>
<div class="highlight"><pre><span></span><code><span class="nt">http</span><span class="p">:</span>
<span class="w"> </span><span class="nt">middlewares</span><span class="p">:</span>
<span class="w"> </span><span class="nt">services</span><span class="p">:</span>
<span class="w"> </span><span class="nt">basicAuth</span><span class="p">:</span>
<span class="w"> </span><span class="nt">users</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;$username$:$password$&quot;</span>
<span class="w"> </span><span class="nt">compress</span><span class="p">:</span>
<span class="w"> </span><span class="nt">compress</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">{}</span>
<span class="w"> </span><span class="nt">hsts</span><span class="p">:</span>
<span class="w"> </span><span class="nt">headers</span><span class="p">:</span>
<span class="w"> </span><span class="nt">stsSeconds</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2592000</span>
<span class="w"> </span><span class="nt">routers</span><span class="p">:</span>
<span class="w"> </span><span class="nt">api</span><span class="p">:</span>
<span class="w"> </span><span class="nt">rule</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Host(`traefik.$example.com$`)</span>
<span class="w"> </span><span class="nt">entrypoints</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">websecure</span>
<span class="w"> </span><span class="nt">middlewares</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">services</span>
<span class="w"> </span><span class="nt">service</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">api@internal</span>
<span class="nt">tls</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">default</span><span class="p">:</span>
<span class="w"> </span><span class="nt">cipherSuites</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">TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256</span>
<span class="w"> </span><span class="nt">sniStrict</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
</code></pre></div>
<h2 id="create-acmejson"><a class="toclink" href="#create-acmejson">Create acme.json</a></h2>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>touch<span class="w"> </span>/etc/docker/volumes/traefik/acme.json
sudo<span class="w"> </span>chmod<span class="w"> </span><span class="m">600</span><span class="w"> </span>/etc/docker/volumes/traefik/acme.json
</code></pre></div>
<h2 id="create-network"><a class="toclink" href="#create-network">Create network</a></h2>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>docker<span class="w"> </span>network<span class="w"> </span>create<span class="w"> </span>traefik
</code></pre></div>
<h2 id="start-traefik"><a class="toclink" href="#start-traefik">Start traefik</a></h2>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>docker-compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div>
<p>You can no access the Traefik dashboard at <code>https://traefik.$example.com$</code> with the credentials you set in <code>traefik_dynamic.yml</code>.</p>
<h2 id="add-labels-to-wg-easy"><a class="toclink" href="#add-labels-to-wg-easy">Add Labels to <code>wg-easy</code></a></h2>
<p>To add labels to your <code>wg-easy</code> service, you can add the following to your <code>docker-compose.yml</code> file:</p>
<p>File: <code>/etc/docker/containers/wg-easy/docker-compose.yml</code></p>
<div class="highlight"><pre><span></span><code><span class="nt">services</span><span class="p">:</span>
<span class="w"> </span><span class="nt">wg-easy</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">container_name</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">wg-easy</span>
<span class="w"> </span><span class="nt">networks</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">traefik</span><span class="p p-Indicator">:</span><span class="w"> </span><span class="p p-Indicator">{}</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">&quot;traefik.enable=true&quot;</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;traefik.http.routers.wg-easy.rule=Host(`wg-easy.$example.com$`)&quot;</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;traefik.http.routers.wg-easy.entrypoints=websecure&quot;</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;traefik.http.routers.wg-easy.service=wg-easy&quot;</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;traefik.http.services.wg-easy.loadbalancer.server.port=51821&quot;</span>
<span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
<span class="nt">networks</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">traefik</span><span class="p p-Indicator">:</span>
<span class="w"> </span><span class="nt">external</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
</code></pre></div>
<h2 id="restart-wg-easy"><a class="toclink" href="#restart-wg-easy">Restart <code>wg-easy</code></a></h2>
<div class="highlight"><pre><span></span><code><span class="nb">cd</span><span class="w"> </span>/etc/docker/containers/wg-easy
sudo<span class="w"> </span>docker-compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div>
<p>You can now access <code>wg-easy</code> at <code>https://wg-easy.$example.com$</code> and start the setup.</p>

1721
Pre-release/faq/index.html

File diff suppressed because it is too large

363
Pre-release/getting-started/index.html

@ -15,14 +15,14 @@
<link rel="canonical" href="https://wg-easy.github.io/wg-easy/Pre-release/getting-started/">
<link rel="prev" href="..">
<link rel="prev" href="../faq/">
<link rel="next" href="../advanced/api/">
<link rel="icon" href="../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -153,11 +153,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -189,6 +191,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -240,6 +243,25 @@
<li class="md-tabs__item">
<a href="../faq/" class="md-tabs__link">
FAQ
</a>
</li>
@ -327,6 +349,26 @@
<li class="md-tabs__item">
<a href="../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -399,6 +441,28 @@
<li class="md-nav__item">
<a href="../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
@ -559,10 +623,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -575,8 +639,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -625,10 +689,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -641,8 +705,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -722,10 +786,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -738,8 +802,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -796,10 +860,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -812,8 +876,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -900,10 +964,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -916,8 +980,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -996,10 +1060,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@ -1012,8 +1076,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -1039,10 +1103,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_1" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -1055,8 +1119,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1207,12 +1271,116 @@
<li class="md-nav__item">
<a href="../examples/tutorials/nginx/" class="md-nav__link">
<a href="../examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
Podman + nftables
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../examples/tutorials/traefik/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
2FA
</span>
@ -1230,12 +1398,12 @@
<li class="md-nav__item">
<a href="../examples/tutorials/podman/" class="md-nav__link">
<a href="../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Edit Account
</span>
@ -1253,12 +1421,12 @@
<li class="md-nav__item">
<a href="../examples/tutorials/traefik/" class="md-nav__link">
<a href="../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
Admin Panel
</span>
@ -1269,9 +1437,70 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1430,7 +1659,7 @@
<h1>Getting Started</h1>
<p>This page explains how to get started with wg-easy. The guide uses Docker Compose as a reference. In our examples, we mount the named volume <code>etc_wireguard</code> to <code>/etc/wireguard</code> inside the container.</p>
<p>This page explains how to get started with <code>wg-easy</code>. The guide uses Docker Compose as a reference. In our examples, we mount the named volume <code>etc_wireguard</code> to <code>/etc/wireguard</code> inside the container.</p>
<h2 id="preliminary-steps"><a class="toclink" href="#preliminary-steps">Preliminary Steps</a></h2>
<p>Before you can get started with deploying your own VPN, there are some requirements to be met:</p>
<ol>
@ -1446,7 +1675,7 @@
<div class="admonition note">
<p class="admonition-title">About the Container Runtime</p>
<p>On the host, you need to have a suitable container runtime (like <em>Docker</em> or <em>Podman</em>) installed. We assume <a href="https://docs.docker.com/compose/"><em>Docker Compose</em></a> is <a href="https://docs.docker.com/compose/install/">installed</a>. We have aligned file names and configuration conventions with the latest <a href="https://docs.docker.com/compose/compose-file/">Docker Compose specification</a>.
If you're using podman, make sure to read the related <a href="../examples/tutorials/podman/">documentation</a>.</p>
If you're using podman, make sure to read the related <a href="../examples/tutorials/podman-nft/">documentation</a>.</p>
</div>
<h2 id="deploying-the-actual-image"><a class="toclink" href="#deploying-the-actual-image">Deploying the Actual Image</a></h2>
<h3 id="tagging-convention"><a class="toclink" href="#tagging-convention">Tagging Convention</a></h3>
@ -1458,18 +1687,48 @@ If you're using podman, make sure to read the related <a href="../examples/tutor
<table>
<thead>
<tr>
<th>Event</th>
<th>Image Tags</th>
<th>tag</th>
<th>Type</th>
<th>Example</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>cron</code> on <code>master</code></td>
<td><code>15</code></td>
<td>latest minor for that major tag</td>
<td><code>ghcr.io/wg-easy/wg-easy:15</code></td>
<td>latest features for specific major versions, no breaking changes</td>
</tr>
<tr>
<td><code>latest</code></td>
<td>latest tag</td>
<td><code>ghcr.io/wg-easy/wg-easy:latest</code> or <code>ghcr.io/wg-easy/wg-easy</code></td>
<td>stable as possible get bug fixes quickly when needed, see Releases for more information.</td>
</tr>
<tr>
<td><code>15.0</code></td>
<td>latest patch for that minor tag</td>
<td><code>ghcr.io/wg-easy/wg-easy:15.0</code></td>
<td>latest patches for specific minor version</td>
</tr>
<tr>
<td><code>15.0.0</code></td>
<td>specific tag</td>
<td><code>ghcr.io/wg-easy/wg-easy:15.0.0</code></td>
<td>specific release, don't use this as this will not get updated</td>
</tr>
<tr>
<td><code>nightly</code></td>
<td><a href="https://github.com/wg-easy/wg-easy/tree/master"><code>master</code></a></td>
<td><code>ghcr.io/wg-easy/wg-easy:nightly</code></td>
<td>mostly unstable gets frequent package and code updates, deployed against <a href="https://github.com/wg-easy/wg-easy/tree/master"><code>master</code></a>.</td>
</tr>
<tr>
<td><code>push</code> a tag (<code>v1.2.3</code>)</td>
<td><code>1.2.3</code>, <code>1.2</code>, <code>1</code>, <code>latest</code></td>
<td><code>development</code></td>
<td>pull requests</td>
<td><code>ghcr.io/wg-easy/wg-easy:development</code></td>
<td>used for development, testing code from PRs before landing into <a href="https://github.com/wg-easy/wg-easy/tree/master"><code>master</code></a>.</td>
</tr>
</tbody>
</table>
@ -1489,7 +1748,7 @@ If you're using podman, make sure to read the related <a href="../examples/tutor
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>docker<span class="w"> </span>compose<span class="w"> </span>down
</code></pre></div>
<div class="admonition danger">
<p class="admonition-title">Using the Correct Commands For Stopping and Starting wg-easy</p>
<p class="admonition-title">Using the Correct Commands For Stopping and Starting <code>wg-easy</code></p>
<p><strong>Use <code>sudo docker compose up / down</code>, not <code>sudo docker compose start / stop</code></strong>. Otherwise, the container is not properly destroyed and you may experience problems during startup because of inconsistent state.</p>
</div>
<p><strong>That's it! It really is that easy</strong>.</p>

1518
Pre-release/guides/2fa/index.html

File diff suppressed because it is too large

1518
Pre-release/guides/account/index.html

File diff suppressed because it is too large

1518
Pre-release/guides/admin/index.html

File diff suppressed because it is too large

1518
Pre-release/guides/clients/index.html

File diff suppressed because it is too large

1518
Pre-release/guides/login/index.html

File diff suppressed because it is too large

421
Pre-release/examples/tutorials/nginx/index.html → Pre-release/guides/setup/index.html

@ -12,28 +12,26 @@
<meta name="author" content="WireGuard Easy">
<link rel="canonical" href="https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/nginx/">
<link rel="canonical" href="https://wg-easy.github.io/wg-easy/Pre-release/guides/setup/">
<link rel="prev" href="../dockerless/">
<link rel="prev" href="../login/">
<link rel="next" href="../podman/">
<link rel="icon" href="../../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<link rel="icon" href="../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
<title>NGINX - wg-easy</title>
<title>Setup - wg-easy</title>
<link rel="stylesheet" href="../../../assets/stylesheets/main.4af4bdda.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/main.4af4bdda.min.css">
<link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
@ -52,7 +50,7 @@
<script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
@ -91,9 +89,9 @@
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../../.." title="wg-easy" class="md-header__button md-logo" aria-label="wg-easy" data-md-component="logo">
<a href="../.." title="wg-easy" class="md-header__button md-logo" aria-label="wg-easy" data-md-component="logo">
<img src="../../../assets/logo/logo.png" alt="logo">
<img src="../../assets/logo/logo.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
@ -110,7 +108,7 @@
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
NGINX
Setup
</span>
</div>
@ -148,11 +146,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -184,6 +184,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -218,7 +219,7 @@
<li class="md-tabs__item">
<a href="../../.." class="md-tabs__link">
<a href="../.." class="md-tabs__link">
@ -237,7 +238,26 @@
<li class="md-tabs__item">
<a href="../../../getting-started/" class="md-tabs__link">
<a href="../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../getting-started/" class="md-tabs__link">
@ -258,7 +278,7 @@
<li class="md-tabs__item">
<a href="../../../advanced/api/" class="md-tabs__link">
<a href="../../advanced/api/" class="md-tabs__link">
@ -278,7 +298,7 @@
<li class="md-tabs__item">
<a href="../../../contributing/general/" class="md-tabs__link">
<a href="../../contributing/general/" class="md-tabs__link">
@ -294,12 +314,33 @@
<li class="md-tabs__item">
<a href="../../examples/tutorials/adguard/" class="md-tabs__link">
Examples
</a>
</li>
@ -309,20 +350,17 @@
<li class="md-tabs__item md-tabs__item--active">
<a href="../adguard/" class="md-tabs__link">
<a href="../2fa/" class="md-tabs__link">
Examples
Guides
</a>
</li>
</ul>
</div>
@ -346,9 +384,9 @@
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../../.." title="wg-easy" class="md-nav__button md-logo" aria-label="wg-easy" data-md-component="logo">
<a href="../.." title="wg-easy" class="md-nav__button md-logo" aria-label="wg-easy" data-md-component="logo">
<img src="../../../assets/logo/logo.png" alt="logo">
<img src="../../assets/logo/logo.png" alt="logo">
</a>
wg-easy
@ -375,7 +413,7 @@
<li class="md-nav__item">
<a href="../../.." class="md-nav__link">
<a href="../.." class="md-nav__link">
@ -397,7 +435,29 @@
<li class="md-nav__item">
<a href="../../../getting-started/" class="md-nav__link">
<a href="../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../getting-started/" class="md-nav__link">
@ -432,10 +492,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -448,8 +508,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -462,7 +522,7 @@
<li class="md-nav__item">
<a href="../../../advanced/api/" class="md-nav__link">
<a href="../../advanced/api/" class="md-nav__link">
@ -498,10 +558,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -514,8 +574,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -528,7 +588,7 @@
<li class="md-nav__item">
<a href="../../../advanced/config/optional-config/" class="md-nav__link">
<a href="../../advanced/config/optional-config/" class="md-nav__link">
@ -551,7 +611,7 @@
<li class="md-nav__item">
<a href="../../../advanced/config/unattended-setup/" class="md-nav__link">
<a href="../../advanced/config/unattended-setup/" class="md-nav__link">
@ -595,10 +655,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -611,8 +671,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -625,7 +685,7 @@
<li class="md-nav__item">
<a href="../../../advanced/metrics/prometheus/" class="md-nav__link">
<a href="../../advanced/metrics/prometheus/" class="md-nav__link">
@ -669,10 +729,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -685,8 +745,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -699,7 +759,7 @@
<li class="md-nav__item">
<a href="../../../advanced/migrate/" class="md-nav__link">
<a href="../../advanced/migrate/" class="md-nav__link">
@ -722,7 +782,7 @@
<li class="md-nav__item">
<a href="../../../advanced/migrate/from-14-to-15/" class="md-nav__link">
<a href="../../advanced/migrate/from-14-to-15/" class="md-nav__link">
@ -773,10 +833,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -789,8 +849,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -803,7 +863,7 @@
<li class="md-nav__item">
<a href="../../../contributing/general/" class="md-nav__link">
<a href="../../contributing/general/" class="md-nav__link">
@ -826,7 +886,7 @@
<li class="md-nav__item">
<a href="../../../contributing/issues-and-pull-requests/" class="md-nav__link">
<a href="../../contributing/issues-and-pull-requests/" class="md-nav__link">
@ -853,8 +913,6 @@
@ -862,20 +920,19 @@
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@ -888,8 +945,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -899,8 +956,6 @@
@ -911,14 +966,16 @@
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" checked>
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -931,8 +988,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -945,7 +1002,7 @@
<li class="md-nav__item">
<a href="../adguard/" class="md-nav__link">
<a href="../../examples/tutorials/adguard/" class="md-nav__link">
@ -968,7 +1025,7 @@
<li class="md-nav__item">
<a href="../auto-updates/" class="md-nav__link">
<a href="../../examples/tutorials/auto-updates/" class="md-nav__link">
@ -991,7 +1048,7 @@
<li class="md-nav__item">
<a href="../basic-installation/" class="md-nav__link">
<a href="../../examples/tutorials/basic-installation/" class="md-nav__link">
@ -1014,7 +1071,7 @@
<li class="md-nav__item">
<a href="../caddy/" class="md-nav__link">
<a href="../../examples/tutorials/caddy/" class="md-nav__link">
@ -1037,7 +1094,7 @@
<li class="md-nav__item">
<a href="../docker-run/" class="md-nav__link">
<a href="../../examples/tutorials/docker-run/" class="md-nav__link">
@ -1060,7 +1117,7 @@
<li class="md-nav__item">
<a href="../dockerless/" class="md-nav__link">
<a href="../../examples/tutorials/dockerless/" class="md-nav__link">
@ -1080,28 +1137,127 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
Podman + nftables
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<li class="md-nav__item">
<a href="../../examples/tutorials/traefik/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
</span>
</a>
</li>
</ul>
</nav>
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
</li>
</ul>
</nav>
</li>
<a href="./" class="md-nav__link md-nav__link--active">
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" checked>
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../2fa/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
2FA
</span>
</a>
</li>
@ -1114,12 +1270,12 @@
<li class="md-nav__item">
<a href="../podman/" class="md-nav__link">
<a href="../account/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Edit Account
</span>
@ -1137,12 +1293,12 @@
<li class="md-nav__item">
<a href="../traefik/" class="md-nav__link">
<a href="../admin/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
Admin Panel
</span>
@ -1153,8 +1309,77 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="../clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1200,7 +1425,7 @@
<a href="https://github.com/wg-easy/wg-easy/edit/master/docs/content/examples/tutorials/nginx.md" title="Edit this page" class="md-content__button md-icon">
<a href="https://github.com/wg-easy/wg-easy/edit/master/docs/content/guides/setup.md" title="Edit this page" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1z"/></svg>
</a>
@ -1209,14 +1434,14 @@
<a href="https://github.com/wg-easy/wg-easy/raw/master/docs/content/examples/tutorials/nginx.md" title="View source of this page" class="md-content__button md-icon">
<a href="https://github.com/wg-easy/wg-easy/raw/master/docs/content/guides/setup.md" title="View source of this page" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg>
</a>
<h1>NGINX</h1>
<h1>Setup</h1>
<p>TODO</p>
@ -1281,10 +1506,10 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.f8cc74c7.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.f8cc74c7.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c8b220af.min.js"></script>
<script src="../../assets/javascripts/bundle.c8b220af.min.js"></script>
</body>

319
Pre-release/index.html

@ -16,11 +16,11 @@
<link rel="next" href="getting-started/">
<link rel="next" href="faq/">
<link rel="icon" href="assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@ -151,11 +151,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@ -187,6 +189,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@ -241,6 +244,25 @@
<li class="md-tabs__item">
<a href="faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="getting-started/" class="md-tabs__link">
@ -325,6 +347,26 @@
<li class="md-tabs__item">
<a href="guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@ -492,6 +534,28 @@
<li class="md-nav__item">
<a href="faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="getting-started/" class="md-nav__link">
@ -528,10 +592,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@ -544,8 +608,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@ -594,10 +658,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@ -610,8 +674,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@ -691,10 +755,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@ -707,8 +771,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@ -765,10 +829,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@ -781,8 +845,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@ -869,10 +933,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@ -885,8 +949,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@ -965,10 +1029,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@ -981,8 +1045,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@ -1008,10 +1072,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_1" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@ -1024,8 +1088,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@ -1176,12 +1240,116 @@
<li class="md-nav__item">
<a href="examples/tutorials/nginx/" class="md-nav__link">
<a href="examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
Podman + nftables
</span>
</a>
</li>
<li class="md-nav__item">
<a href="examples/tutorials/traefik/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
2FA
</span>
@ -1199,12 +1367,12 @@
<li class="md-nav__item">
<a href="examples/tutorials/podman/" class="md-nav__link">
<a href="guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Edit Account
</span>
@ -1222,12 +1390,12 @@
<li class="md-nav__item">
<a href="examples/tutorials/traefik/" class="md-nav__link">
<a href="guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Traefik
Admin Panel
</span>
@ -1238,9 +1406,70 @@
</ul>
</nav>
<li class="md-nav__item">
<a href="guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
@ -1371,7 +1600,7 @@
<p class="admonition-title"> This Documentation is Versioned</p>
<p><strong>Make sure</strong> to select the correct version of this documentation! It should match the version of the image you are using. The default version corresponds to the <code>:latest</code> image tag - <a href="getting-started/#tagging-convention">the most recent stable release</a>.</p>
</div>
<p>This documentation provides you not only with the basic setup and configuration of wg-easy but also with advanced configuration, elaborate usage scenarios, detailed examples, hints and more.</p>
<p>This documentation provides you not only with the basic setup and configuration of <code>wg-easy</code> but also with advanced configuration, elaborate usage scenarios, detailed examples, hints and more.</p>
<h2 id="about"><a class="toclink" href="#about">About</a></h2>
<p><code>wg-easy</code> is the easiest way to run WireGuard VPN + Web-based Admin UI.</p>
<h2 id="contents"><a class="toclink" href="#contents">Contents</a></h2>

2
Pre-release/search/search_index.json

File diff suppressed because one or more lines are too long

68
Pre-release/sitemap.xml

@ -2,78 +2,102 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/faq/</loc>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/getting-started/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/advanced/api/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/advanced/config/optional-config/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/advanced/config/unattended-setup/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/advanced/metrics/prometheus/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/advanced/migrate/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/advanced/migrate/from-14-to-15/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/contributing/general/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/contributing/issues-and-pull-requests/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/adguard/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/auto-updates/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/basic-installation/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/caddy/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/docker-run/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/dockerless/</loc>
<lastmod>2025-03-31</lastmod>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/nginx/</loc>
<lastmod>2025-03-31</lastmod>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/podman-nft/</loc>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/podman/</loc>
<lastmod>2025-03-31</lastmod>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/traefik/</loc>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/examples/tutorials/traefik/</loc>
<lastmod>2025-03-31</lastmod>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/guides/2fa/</loc>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/guides/account/</loc>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/guides/admin/</loc>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/guides/clients/</loc>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/guides/login/</loc>
<lastmod>2025-04-11</lastmod>
</url>
<url>
<loc>https://wg-easy.github.io/wg-easy/Pre-release/guides/setup/</loc>
<lastmod>2025-04-11</lastmod>
</url>
</urlset>

BIN
Pre-release/sitemap.xml.gz

Binary file not shown.
Loading…
Cancel
Save