Small addition to cloudflared docs that would have saved me a lot of googling. (#14816)

**Description**

Just added some specific cloudflared setup instructions, since googling
it took me way too long to figure out.


**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [ ] ⚖️ My code follows the style guidelines of this project
- [ ] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [x] 📄 I have made corresponding changes to the documentation
- [ ] ⚠️ My changes generate no new warnings
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [ ] ⬆️ I increased versions for any altered app according to semantic
versioning

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🪞 I have opened a PR on
[truecharts/containers](https://github.com/truecharts/containers) adding
the container to TrueCharts mirror repo.
- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: Marthinus Bosman <38855581+MarthinusBosman@users.noreply.github.com>
This commit is contained in:
Marthinus Bosman
2023-11-18 11:49:29 +01:00
committed by GitHub
parent e6a70eef32
commit c35d90e6b5
3 changed files with 30 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

View File

@@ -13,7 +13,7 @@
![cf-tunnel-token.png](imgs/cf-tunnel-token.png)
- Set the `token` with **your** tunnel's token. the tunnel ID will **NOT** work.
- Now you can manage the tunnel via cloudflare dash by setting a private network or create ingress rules for your services and domain.
- Now you can manage the tunnel via cloudflare dash by setting a private network or create ingress rules for your services and domain, explained in [Setting up individial apps](#setting-up-individual-apps)
![cf-tunnel-hostname](imgs/cf-tunnel-hostname.png)
@@ -24,3 +24,32 @@ Notes:
- You MAY need to modify cloudflared Zero Trust various settings in order for this work out-of-the-box which is beyond the scope of this guide.
- You can use this as a reverse proxy directly or use it in conjunction with traefik if you are behind a CGNAT, do not have a static IP, or can not port forward 443 (SSL).
## Setting up individual apps
### Using traefik
If you've set up your apps with traefik, you need to set up two public hostnames
1. Set `domain` to your domain
2. Set `type` to `HTTPS`
3. Set `URL` to your traefik URL, usually `traefik-tcp.ix-traefik.svc.cluster.local:443` (make sure the port is the same as the port you specified in traefik config)
4. Under `Additional app settings` > `TLS`, set `Origin Server Name` to your domain.
Setup should look like this:
![cloudflare-setup](imgs/cloudflare-setup1.png)
Then you need to do the same to set up the subdomain for each app you want to expose, using the same subdomain you specified in the app's ingress settings as follows:
![cloudflare-setup](imgs/cloudflare-setup2.png)
:::danger Wildcard Subdomains
It's also possible to set up access to all apps at once by using a wildcard `*` subdomain public hostname, and then adding a CNAME record in the DNS settings with name=`*` and target equal to the target in the CNAME record for the parent domain, but this is not recommended due to security concerns.
:::
### Without traefik
If you've not set up traefik and ingress, and exposing the ports using the normal loadbalancer, you only need to set up each app individually, and set `URL` to `<TrueNAS Local IP>:<PORT of app>` for each app.