dp-salad-docs/.vitepress/dist/cf-tunnel.html
2025-01-04 22:46:09 -07:00

95 lines
No EOL
38 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Cloudflare Tunneling | DP-Salad</title>
<meta name="description" content="A guide to fully deploy the DP-Salad Stack">
<meta name="generator" content="VitePress v1.5.0">
<link rel="preload stylesheet" href="/assets/style.CpK5ZA6m.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.D2AcNbxn.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.Chl5AtGS.js">
<link rel="modulepreload" href="/assets/chunks/framework.DtMx7FFi.js">
<link rel="modulepreload" href="/assets/cf-tunnel.md.DCFtN7s5.lean.js">
<link rel="icon" type="image/x-icon" href="/asset/favicon.ico">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"dark",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-39b851b6><!--[--><!--]--><!--[--><span tabindex="-1" data-v-a06310ac></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-a06310ac> Skip to content </a><!--]--><!----><header class="VPNav" data-v-39b851b6 data-v-1125fe0e><div class="VPNavBar" data-v-1125fe0e data-v-8c74a6bf><div class="wrapper" data-v-8c74a6bf><div class="container" data-v-8c74a6bf><div class="title" data-v-8c74a6bf><div class="VPNavBarTitle has-sidebar" data-v-8c74a6bf data-v-91ea8bb2><a class="title" href="/" data-v-91ea8bb2><!--[--><!--]--><!--[--><img class="VPImage logo" src="/saladicon.png" alt data-v-e838cdb3><!--]--><span data-v-91ea8bb2>DP-Salad</span><!--[--><!--]--></a></div></div><div class="content" data-v-8c74a6bf><div class="content-body" data-v-8c74a6bf><!--[--><!--]--><div class="VPNavBarSearch search" data-v-8c74a6bf><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-8c74a6bf data-v-d62dda7e><span id="main-nav-aria-label" class="visually-hidden" data-v-d62dda7e> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-d62dda7e data-v-f334ebb6><!--[--><span data-v-f334ebb6>Home</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/faq" tabindex="0" data-v-d62dda7e data-v-f334ebb6><!--[--><span data-v-f334ebb6>FAQ</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docker-compose" tabindex="0" data-v-d62dda7e data-v-f334ebb6><!--[--><span data-v-f334ebb6>Docker Compose</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/maintenance/maintain-guide" tabindex="0" data-v-d62dda7e data-v-f334ebb6><!--[--><span data-v-f334ebb6>Maintenance</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-d62dda7e data-v-f1cced18><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-f1cced18><span class="text" data-v-f1cced18><!----><span data-v-f1cced18>Install</span><span class="vpi-chevron-down text-icon" data-v-f1cced18></span></span></button><div class="menu" data-v-f1cced18><div class="VPMenu" data-v-f1cced18 data-v-b71e5dd0><div class="items" data-v-b71e5dd0><!--[--><!--[--><div class="VPMenuLink" data-v-b71e5dd0 data-v-15160b25><a class="VPLink link" href="/install/requirements" data-v-15160b25><!--[--><span data-v-15160b25>DP-Salad Requirements</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b71e5dd0 data-v-15160b25><a class="VPLink link" href="/install/dp-setup" data-v-15160b25><!--[--><span data-v-15160b25>Installing Debian and Portainer</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b71e5dd0 data-v-15160b25><a class="VPLink link" href="/install/dp-config" data-v-15160b25><!--[--><span data-v-15160b25>Configuration</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b71e5dd0 data-v-15160b25><a class="VPLink link" href="/install/salad-setup" data-v-15160b25><!--[--><span data-v-15160b25>DP-Salad Setup</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-d62dda7e data-v-f1cced18><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-f1cced18><span class="text" data-v-f1cced18><!----><span data-v-f1cced18>Config</span><span class="vpi-chevron-down text-icon" data-v-f1cced18></span></span></button><div class="menu" data-v-f1cced18><div class="VPMenu" data-v-f1cced18 data-v-b71e5dd0><div class="items" data-v-b71e5dd0><!--[--><!--[--><div class="VPMenuLink" data-v-b71e5dd0 data-v-15160b25><a class="VPLink link" href="/configuration/swag-config" data-v-15160b25><!--[--><span data-v-15160b25>Swag Config</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b71e5dd0 data-v-15160b25><a class="VPLink link" href="/configuration/auth-config" data-v-15160b25><!--[--><span data-v-15160b25>Authelia Config</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b71e5dd0 data-v-15160b25><a class="VPLink link" href="/configuration/lldap-config" data-v-15160b25><!--[--><span data-v-15160b25>LLDAP Config</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b71e5dd0 data-v-15160b25><a class="VPLink link" href="/configuration/authy-duo-config" data-v-15160b25><!--[--><span data-v-15160b25>Authy/Duo Config</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup active" data-v-d62dda7e data-v-f1cced18><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-f1cced18><span class="text" data-v-f1cced18><!----><span data-v-f1cced18>Misc</span><span class="vpi-chevron-down text-icon" data-v-f1cced18></span></span></button><div class="menu" data-v-f1cced18><div class="VPMenu" data-v-f1cced18 data-v-b71e5dd0><div class="items" data-v-b71e5dd0><!--[--><!--[--><div class="VPMenuLink" data-v-b71e5dd0 data-v-15160b25><a class="VPLink link" href="/x11-guide" data-v-15160b25><!--[--><span data-v-15160b25>X11 Guide</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b71e5dd0 data-v-15160b25><a class="VPLink link active" href="/cf-tunnel" data-v-15160b25><!--[--><span data-v-15160b25>Cloudflare Tunneling</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-8c74a6bf data-v-407d5c63><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="true" data-v-407d5c63 data-v-2994eab3 data-v-2ed556eb><span class="check" data-v-2ed556eb><span class="icon" data-v-2ed556eb><!--[--><span class="vpi-sun sun" data-v-2994eab3></span><span class="vpi-moon moon" data-v-2994eab3></span><!--]--></span></span></button></div><!----><div class="VPFlyout VPNavBarExtra extra" data-v-8c74a6bf data-v-d10923a3 data-v-f1cced18><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-f1cced18><span class="vpi-more-horizontal icon" data-v-f1cced18></span></button><div class="menu" data-v-f1cced18><div class="VPMenu" data-v-f1cced18 data-v-b71e5dd0><!----><!--[--><!--[--><!----><div class="group" data-v-d10923a3><div class="item appearance" data-v-d10923a3><p class="label" data-v-d10923a3>Appearance</p><div class="appearance-action" data-v-d10923a3><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="true" data-v-d10923a3 data-v-2994eab3 data-v-2ed556eb><span class="check" data-v-2ed556eb><span class="icon" data-v-2ed556eb><!--[--><span class="vpi-sun sun" data-v-2994eab3></span><span class="vpi-moon moon" data-v-2994eab3></span><!--]--></span></span></button></div></div></div><!----><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-8c74a6bf data-v-661d4f1a><span class="container" data-v-661d4f1a><span class="top" data-v-661d4f1a></span><span class="middle" data-v-661d4f1a></span><span class="bottom" data-v-661d4f1a></span></span></button></div></div></div></div><div class="divider" data-v-8c74a6bf><div class="divider-line" data-v-8c74a6bf></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-39b851b6 data-v-e758e1b7><div class="container" data-v-e758e1b7><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-e758e1b7><span class="vpi-align-left menu-icon" data-v-e758e1b7></span><span class="menu-text" data-v-e758e1b7>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-e758e1b7 data-v-ebf966df><button data-v-ebf966df>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-39b851b6 data-v-6b9869d7><div class="curtain" data-v-6b9869d7></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-6b9869d7><span class="visually-hidden" id="sidebar-aria-label" data-v-6b9869d7> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-71286ee5><section class="VPSidebarItem level-0" data-v-71286ee5 data-v-877bfe94><!----><div class="items" data-v-877bfe94><!--[--><div class="VPSidebarItem level-1 is-link" data-v-877bfe94 data-v-877bfe94><div class="item" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><a class="VPLink link link" href="/home" data-v-877bfe94><!--[--><p class="text" data-v-877bfe94>Legacy Instructions</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-71286ee5><section class="VPSidebarItem level-0 collapsible" data-v-71286ee5 data-v-877bfe94><div class="item" role="button" tabindex="0" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><h2 class="text" data-v-877bfe94>Configuration</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-877bfe94><span class="vpi-chevron-right caret-icon" data-v-877bfe94></span></div></div><div class="items" data-v-877bfe94><!--[--><div class="VPSidebarItem level-1 is-link" data-v-877bfe94 data-v-877bfe94><div class="item" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><a class="VPLink link link" href="/configuration/auth-config" data-v-877bfe94><!--[--><p class="text" data-v-877bfe94>Authelia Configuration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-877bfe94 data-v-877bfe94><div class="item" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><a class="VPLink link link" href="/configuration/authy-duo-config" data-v-877bfe94><!--[--><p class="text" data-v-877bfe94>DP-Salad Configuration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-877bfe94 data-v-877bfe94><div class="item" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><a class="VPLink link link" href="/configuration/lldap-config" data-v-877bfe94><!--[--><p class="text" data-v-877bfe94>LLDAP Configuration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-877bfe94 data-v-877bfe94><div class="item" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><a class="VPLink link link" href="/configuration/swag-config" data-v-877bfe94><!--[--><p class="text" data-v-877bfe94>Swag Config</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-71286ee5><section class="VPSidebarItem level-0 collapsible" data-v-71286ee5 data-v-877bfe94><div class="item" role="button" tabindex="0" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><h2 class="text" data-v-877bfe94>Install</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-877bfe94><span class="vpi-chevron-right caret-icon" data-v-877bfe94></span></div></div><div class="items" data-v-877bfe94><!--[--><div class="VPSidebarItem level-1 is-link" data-v-877bfe94 data-v-877bfe94><div class="item" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><a class="VPLink link link" href="/install/dp-config" data-v-877bfe94><!--[--><p class="text" data-v-877bfe94>DP-Salad Configuration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-877bfe94 data-v-877bfe94><div class="item" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><a class="VPLink link link" href="/install/dp-setup" data-v-877bfe94><!--[--><p class="text" data-v-877bfe94>DP-Salad Setup</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-877bfe94 data-v-877bfe94><div class="item" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><a class="VPLink link link" href="/install/requirements" data-v-877bfe94><!--[--><p class="text" data-v-877bfe94>DP-Salad Minimum Requirements</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-877bfe94 data-v-877bfe94><div class="item" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><a class="VPLink link link" href="/install/salad-setup" data-v-877bfe94><!--[--><p class="text" data-v-877bfe94>Salad Setup</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-71286ee5><section class="VPSidebarItem level-0 collapsible" data-v-71286ee5 data-v-877bfe94><div class="item" role="button" tabindex="0" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><h2 class="text" data-v-877bfe94>Maintenance</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-877bfe94><span class="vpi-chevron-right caret-icon" data-v-877bfe94></span></div></div><div class="items" data-v-877bfe94><!--[--><div class="VPSidebarItem level-1 is-link" data-v-877bfe94 data-v-877bfe94><div class="item" data-v-877bfe94><div class="indicator" data-v-877bfe94></div><a class="VPLink link link" href="/maintenance/maintain-guide" data-v-877bfe94><!--[--><p class="text" data-v-877bfe94>Maintenance of the DP-SALA/D Stack</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-39b851b6 data-v-cc09d6e0><div class="VPDoc has-sidebar has-aside" data-v-cc09d6e0 data-v-f87ade32><!--[--><!--]--><div class="container" data-v-f87ade32><div class="aside" data-v-f87ade32><div class="aside-curtain" data-v-f87ade32></div><div class="aside-container" data-v-f87ade32><div class="aside-content" data-v-f87ade32><div class="VPDocAside" data-v-f87ade32 data-v-c0d770e2><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-c0d770e2 data-v-154faa32><div class="content" data-v-154faa32><div class="outline-marker" data-v-154faa32></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-154faa32>On this page</div><ul class="VPDocOutlineItem root" data-v-154faa32 data-v-a993366b><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-c0d770e2></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-f87ade32><div class="content-container" data-v-f87ade32><!--[--><!--]--><main class="main" data-v-f87ade32><div style="position:relative;" class="vp-doc _cf-tunnel" data-v-f87ade32><div><h1 id="cloudflare-tunnel-setup" tabindex="-1">Cloudflare Tunnel Setup: <span class="i-simple-icons-cloudflare"></span> <span class="i-mingcute-tunnel-line"></span> <a class="header-anchor" href="#cloudflare-tunnel-setup" aria-label="Permalink to &quot;Cloudflare Tunnel Setup: :simple-icons-cloudflare: :mingcute-tunnel-line:&quot;">​</a></h1><p>Sometimes, someone might want to deploy the DP-SALAD stack behind <em>NAT</em> or you don&#39;t want to open your network&#39;s ports exposing them to the outside.</p><div class="tip custom-block"><p class="custom-block-title">Note:</p><p>You do not need to have your domain registered through Cloudflare <span class="i-simple-icons-cloudflare"></span> to use Cloudflare Tunnels</p></div><h2 id="the-solution" tabindex="-1">THE SOLUTION? <a class="header-anchor" href="#the-solution" aria-label="Permalink to &quot;THE SOLUTION?&quot;">​</a></h2><p><strong>Cloudflare Tunnels</strong> <span class="i-twemoji-party-popper"></span></p><p>Of course, running the stack this way comes with some extra configuartion on both the Docker side and Cloudflare/domain side.</p><p>This is an excerpt from the <a href="/docker-compose">One-Click Docker Compose file</a>:</p><p>In order to make this work with cloudflare tunneling, you must add some more lines to your docker compose. The first being a directive which is highlighted below:</p><div class="language-yml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">version</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;2.1&quot;</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">services</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> swag</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> image</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">lscr.io/linuxserver/swag:latest</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> container_name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">swag</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> cap_add</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">NET_ADMIN</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> environment</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">PUID=1000</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">PGID=1000</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">TZ=America/Phoenix</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">URL=[sakura.nt]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">VALIDATION=dns</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">SUBDOMAINS=wildcard</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DNSPLUGIN=cloudflare</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">EMAIL=[sakurant@gmail.com]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">ONLY_SUBDOMAINS=false</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> #- EXTRA_DOMAINS= #optional</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">STAGING=false</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DOCKER_MODS=linuxserver/mods:universal-docker|linuxserver/mods:swag-auto-reload|linuxserver/mods:swag-dashboard|linuxserver/mods:swag-dbip|linuxserver/mods:universal-cloudflared</span></span>
<span class="line highlighted"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> extra_hosts</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line highlighted"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">domain.tld:127.0.0.1</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> volumes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/home/[INSERT USER FOLDER HERE]/appdata/swag:/config</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> ports</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">443:443</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">80:80</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> networks</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">INSERT NETWORK NAME HERE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> restart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">unless-stopped</span></span></code></pre></div><p>Next, you&#39;ll want to generate an API key <span class="i-material-symbols-key-outline"></span> with Cloudflare <span class="i-simple-icons-cloudflare"></span>, go to <em>Overview</em> in your domain, and click &quot;<em>get your api token</em>&quot;, click <em>Create Token</em>, use → &quot;<em>Edit zone DNS</em>&quot; template, add a permission, select &quot;<em>Account</em>&quot;, → &quot;<em>Cloudflare Tunnel</em>&quot;, → &quot;<em>Edit</em>&quot;, under account resources, include your account, under zone resources, include your domain. Continue with setup, <strong>make sure you keep track of the API key somewhere</strong>.</p><p>After you have completed these steps, you will need to add these credentials to your Swag configuration in the <strong>docker-compose.yml</strong>. After the <em>Docker_Mods</em> environment variable, add these lines:</p><div class="language-yml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yml</span><pre class="shiki shiki-themes github-light github-dark has-focused-lines vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">version</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;2.1&quot;</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">services</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> swag</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> image</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">lscr.io/linuxserver/swag:latest</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> container_name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">swag</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> cap_add</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">NET_ADMIN</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> environment</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">PUID=1000</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">PGID=1000</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">TZ=America/Phoenix</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">URL=[sakura.nt]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">VALIDATION=dns</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">SUBDOMAINS=wildcard</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DNSPLUGIN=cloudflare</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">EMAIL=[sakurant@gmail.com]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">ONLY_SUBDOMAINS=false</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> #- EXTRA_DOMAINS= #optional</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">STAGING=false</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">DOCKER_MODS=linuxserver/mods:universal-docker|linuxserver/mods:swag-auto-reload|linuxserver/mods:swag-dashboard|linuxserver/mods:swag-dbip|linuxserver/mods:universal-cloudflared</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">CF_ZONE_ID=zone id from cloudflare domain overview</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">CF_ACCOUNT_ID=account id from cloudflare domain overview</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">CF_API_TOKEN=api token generated</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">CF_TUNNEL_NAME=create a tunnel, name it whatever</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">CF_TUNNEL_PASSWORD=generate a long password</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">FILE__CF_TUNNEL_CONFIG=/config/tunnelconfig.yml</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> extra_hosts</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">domain.tld:127.0.0.1</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> volumes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/home/[INSERT USER FOLDER HERE]/appdata/swag:/config</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> ports</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">443:443</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">80:80</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> networks</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">INSERT NETWORK NAME HERE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> restart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">unless-stopped</span></span></code></pre></div><p>You&#39;re not quite done yet... <span class="i-twemoji-cold-face"></span></p><p>You&#39;ll need to add more to finish the installation: First, <code>nano /home/[USER]/appdata/swag/tunnelconfig.yml</code>, and add these contents:</p><div class="language-yml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">ingress</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">hostname</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">domain.tld</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> service</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">https://domain.tld</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">hostname</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;*.domain.tld&quot;</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> service</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">https://domain.tld</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">service</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">http_status:404</span></span></code></pre></div><p>Then, edit the <code>/home/[USER]/appdata/swag/dns-conf/cloudflare.ini</code>, add the API token, you&#39;ll comment the top two lines, add the token after uncommenting the bottom line.</p><details class="details custom-block"><summary><em>insert funni meeme here:</em></summary><p><img src="/cat-typing.gif" alt="/cat-typing.gif"></p></details></div></div></main><footer class="VPDocFooter" data-v-f87ade32 data-v-a287ad5f><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-a287ad5f><span class="visually-hidden" id="doc-footer-aria-label" data-v-a287ad5f>Pager</span><div class="pager" data-v-a287ad5f><!----></div><div class="pager" data-v-a287ad5f><a class="VPLink link pager-link next" href="/home" data-v-a287ad5f><!--[--><span class="desc" data-v-a287ad5f>Next page</span><span class="title" data-v-a287ad5f>Legacy Instructions</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-39b851b6 data-v-ed47955f><div class="container" data-v-ed47955f><p class="message" data-v-ed47955f>Docs created by @ldez</p><p class="copyright" data-v-ed47955f>Copyright © 2024-present @Cdez</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"cf-tunnel.md\":\"DCFtN7s5\",\"changelog.md\":\"DF8BSN3_\",\"configuration_auth-config.md\":\"CWCNki4x\",\"configuration_authy-duo-config.md\":\"Czz1BBMP\",\"configuration_lldap-config.md\":\"r20NA1Ia\",\"configuration_swag-config.md\":\"DsoCqRQq\",\"docker-compose.md\":\"CiAGvlkZ\",\"faq.md\":\"By3ovNs1\",\"home.md\":\"DWjC1jWa\",\"index.md\":\"DDpI40D1\",\"install_dp-config.md\":\"Cllv2ZYA\",\"install_dp-setup.md\":\"Bx00pjFf\",\"install_requirements.md\":\"DnNTxVlB\",\"install_salad-setup.md\":\"uqD3xfuF\",\"maintenance_maintain-guide.md\":\"DC42-hYW\",\"x11-guide.md\":\"BPhK1sNP\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"DP-Salad\",\"description\":\"A guide to fully deploy the DP-Salad Stack\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":\"dark\",\"themeConfig\":{\"logo\":\"/saladicon.png\",\"nav\":[{\"text\":\"Home\",\"link\":\"/\"},{\"text\":\"FAQ\",\"link\":\"/faq\"},{\"text\":\"Docker Compose\",\"link\":\"/docker-compose\"},{\"text\":\"Maintenance\",\"link\":\"/maintenance/maintain-guide\"},{\"text\":\"Install\",\"items\":[{\"text\":\"DP-Salad Requirements\",\"link\":\"/install/requirements\"},{\"text\":\"Installing Debian and Portainer\",\"link\":\"/install/dp-setup\"},{\"text\":\"Configuration\",\"link\":\"/install/dp-config\"},{\"text\":\"DP-Salad Setup\",\"link\":\"/install/salad-setup\"}]},{\"text\":\"Config\",\"items\":[{\"text\":\"Swag Config\",\"link\":\"/configuration/swag-config\"},{\"text\":\"Authelia Config\",\"link\":\"/configuration/auth-config\"},{\"text\":\"LLDAP Config\",\"link\":\"/configuration/lldap-config\"},{\"text\":\"Authy/Duo Config\",\"link\":\"/configuration/authy-duo-config\"}]},{\"text\":\"Misc\",\"items\":[{\"text\":\"X11 Guide\",\"link\":\"/x11-guide\"},{\"text\":\"Cloudflare Tunneling\",\"link\":\"/cf-tunnel\"}]}],\"sidebar\":[{\"text\":\"Legacy Instructions\",\"link\":\"/home\"},{\"text\":\"Configuration\",\"items\":[{\"text\":\"Authelia Configuration\",\"link\":\"/configuration/auth-config\"},{\"text\":\"DP-Salad Configuration\",\"link\":\"/configuration/authy-duo-config\"},{\"text\":\"LLDAP Configuration\",\"link\":\"/configuration/lldap-config\"},{\"text\":\"Swag Config\",\"link\":\"/configuration/swag-config\"}],\"collapsed\":false},{\"text\":\"Install\",\"items\":[{\"text\":\"DP-Salad Configuration\",\"link\":\"/install/dp-config\"},{\"text\":\"DP-Salad Setup\",\"link\":\"/install/dp-setup\"},{\"text\":\"DP-Salad Minimum Requirements\",\"link\":\"/install/requirements\"},{\"text\":\"Salad Setup\",\"link\":\"/install/salad-setup\"}],\"collapsed\":false},{\"text\":\"Maintenance\",\"items\":[{\"text\":\"Maintenance of the DP-SALA/D Stack\",\"link\":\"/maintenance/maintain-guide\"}],\"collapsed\":false}],\"search\":{\"provider\":\"local\"},\"footer\":{\"message\":\"Docs created by @ldez\",\"copyright\":\"Copyright © 2024-present @Cdez\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
</body>
</html>