mirror of
https://github.com/wg-easy/wg-easy.git
synced 2026-04-24 00:49:53 +08:00
Deployed 3ef258a to Pre-release with MkDocs 1.6.1 and mike 2.1.3
This commit is contained in:
@@ -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,35 +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
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../podman/" class="md-nav__link">
|
||||
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Podman
|
||||
Podman + nftables
|
||||
|
||||
</span>
|
||||
|
||||
@@ -1134,6 +1182,19 @@
|
||||
|
||||
|
||||
|
||||
<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">
|
||||
|
||||
|
||||
@@ -1146,6 +1207,104 @@
|
||||
|
||||
</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>
|
||||
|
||||
|
||||
@@ -1166,6 +1325,194 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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">
|
||||
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>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
@@ -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">"80:80"</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">"443:443/tcp"</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">"443:443/udp"</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">":80/tcp"</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">":443/tcp"</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">$mail@example.com$</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">"$username$:$password$"</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">"traefik.enable=true"</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">"traefik.http.routers.wg-easy.rule=Host(`wg-easy.$example.com$`)"</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">"traefik.http.routers.wg-easy.entrypoints=websecure"</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">"traefik.http.routers.wg-easy.service=wg-easy"</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">"traefik.http.services.wg-easy.loadbalancer.server.port=51821"</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>
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user