feat: move Grafana, Prometheus and Traefik to Enterprise Train (#6372)

This commit is contained in:
Kjeld Schouten-Lebbing
2023-01-14 15:09:50 +00:00
committed by GitHub
parent ddd3fac17f
commit 8652a8f3df
84 changed files with 0 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
---
sidebar_position: 1
---
# Installing Traefik
Within TrueCharts, our aim is to make it as easy as possible to secure your Apps.
To support this, we supply a separate Traefik "ingress" app, which has been pre-configured to provide secure and fast connections.
## How-To
### TrueNAS WebUI
In order to set up Traefik, you will be required to change the default TrueNAS WebUI access ports.
These ports are by default set to port `80` for HTTP and port `443` for HTTPS.
This is necessary as we will be setting Traefik up to function as a reverse proxy, and receive traffic on these host ports.
In the TrueNAS Menu, navigate to **System** > **General**. Click the **Settings** button at the top right of the GUI component.
Under these **GUI Settings**, change:
- Web Interface HTTP Port to port `81`
- Web Interface HTTPS Port to port `444`.
Click **Save** to save your changes. The WebUI will now prompt you to restart the web server service,
after which you will be automatically redirected to your dashboard through one of the new ports.
If you are not prompted to restart the web server service, you may restart the machine and manually navigate
to the WebUI address followed by one of the new ports eg. `truenas.local:81`.
:::info
These are the recommended ports for this procedure. Using different ports may require some
changes to your configuration that are not covered in this tutorial.
:::
:::warning
Do not skip this step. Neglecting to change the default ports active may cause your WebUI to become inaccessible after the following step.
Ensure you are accessing your WebUI from the new ports before proceeding.
:::
### Installing the Traefik Scale App
In the TrueNAS Menu, navigate to **Apps** > **Available Applications**. Use the search bar to search for or manually
find the Traefik app in the list of apps, and click **Install**
The setup of Traefik is relatively straight-forward. Most of the settings remain unchanged from default, except for these two:
- **Application Name**: Enter a name for your app. You may use simply _traefik_ for this field.
- **Networking and Services**: Under TCP Services, find and change:
- **web Entrypoint Configuration** > **Entrypoints port:**
Change port `9080` to port `80`
- **websecure Entrypoint Configuration** > **Entrypoints port:**
Change port `9443` to port `443`
Continue to section 12, and select **Next**. Traefik will now be installed.
After installation you can access the Traefik dashboard using your host IP address followed by `:9000`, or by simply clicking "Web Portal" on the application's entry under **Apps** > **Installed Applications**.
:::note
Traefik is part of the `stable` train, so make sure you have it enabled as specified in [Step 1](https://truecharts.org/manual/Quick-Start%20Guides/01-Adding-TrueCharts/) of our Quick Start Guides
:::
## Video Guide
<iframe width="560" height="315" src="https://www.youtube.com/embed/bWNPfrKjawI" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen></iframe>
Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

@@ -0,0 +1,36 @@
# Redirect Regex
The Redirect Regex middleware redirects a request using regex matching and replacement.
In the `Regex` field enter the capturing regex expression
In the `Replacement` enter the URL to redirect to.
## Creating the middleware on traefik
Edit your existing traefik install (or install fresh if you don't have it installed)
- Scroll down to `redirectRegex`
- Click <kbd>Add</kbd>
- Name: `guacamole-redirect` (Any name you want, remember it, you will need it later)
- Regex: `^https://remote\.domain\.com/?$`
- Replacement: `https://remote.domain.com/guacamole`
- Check `Permanent`
- Click <kbd>Save</kbd>
![traefik-regex-redirect-fields](img/traefik-regex-redirect-fields.png)
This will capture `https://remote.domain.com` or `https://remote.domain.com/`
and redirect it to `https://remote.domain.com/guacamole`
## Applying the regex redirect middleware to the app
Edit your existing _App_, in this example we will use `guacamole-client`.
- Scroll down to `Traefik MIddlewares` (Remember, you need to have `ingress` enabled)
- Click <kbd>Add</kbd>
- Name: `guacamole-redirect` (Replace with the name you gave to your middleware on the previous step)
- Click <kbd>Save</kbd>
![traefik-regex-redirect-app](img/traefik-regex-redirect-app.png)
You are ready!
@@ -0,0 +1,44 @@
# Theme Park
Theme park is a middleware to inject [supported stylesheets (css)](https://docs.theme-park.dev/theme-options)
into [supported apps](https://docs.theme-park.dev/themes).
So let's see how to do that.
Note that this will only work on apps you have enabled `ingress`, and only when accessing them via the URL.
Will NOT work if you access them via `IP:PORT`.
## Creating the middleware on traefik
Edit your existing traefik install (or install fresh if you don't have it installed)
- Scroll down to `theme.park`
- Click <kbd>Add</kbd>
- Name: `guactheme` (Any name you want, remember it, you will need it later)
- App Name: `guacamole` (Replace with the name of the app you want to theme)
- Theme Name: `plex` (Replace wit the theme you want to apply)
- Base URL: (Leave the default, unless you plan to use a self hosted theme provider)
- Click <kbd>Save</kbd>
![traefik-theme-fields](img/traefik-theme-fields.png)
> Keep in mind that if you decide to use a self hosted theme provider, it will need to have enabled ingress.
> Also use the external URL, not the internal, as the client will need to access that theme provider to fetch the
> stylesheets.
## Applying the theme to the app
Edit your existing _App_, in this example we will use `guacamole-client`.
- Scroll down to `Traefik MIddlewares` (Remember, you need to have `ingress` enabled)
- Click <kbd>Add</kbd>
- Name: `guactheme` (Replace with the name you gave to your middleware on the previous step)
- Click <kbd>Save</kbd>
![traefik-theme-app](img/traefik-theme-app.png)
You are ready!
| Before | After |
| :---------------------------------------------------: | :-------------------------------------------------: |
| ![traefik-theme-before](img/traefik-theme-before.png) | ![traefik-theme-after](img/traefik-theme-after.png) |
@@ -0,0 +1,45 @@
# Add Traefik Basic Auth to Apps
Our `traefik` chart has the ability to add various `middlewares` to the chart can add extra functionality to your setup. You can see the full list of `middlewares` inside the `traefik` menu options. In this guide we'll go over setting up the `Basic Auth` traefik middleware.
# Prerequisites
- Traefik installed (see previous steps of `SCALE Apps Manual`)
# Installation
Once `traefik` is installed, scroll down to the `Middlewares` section
![BasicAuth](img/BasicAuth.png)
When there, you can fill out the `Configure basicAuth` section with as follows
- Name the `basicAuth`, most people choose `basic`
- Add as name users as necessary, choosing a specific `Username` and `Password` for each user.
# Adding it to Apps using Ingress
Once you have your `basicAuth` setup, you need to add it to apps that have `Ingress`(Traefik) enabled, otherwise you cannot use this middleware.
![EnabledIngress](img/IngressEnabled.png)
Scroll to the section `Configure Traefik Middlewares`
- Click `Add` to add a fillable section
- Write in the name of the `basicAuth` from before. For most people that's basic as the example below.
![ConfigureTraefikMiddlewares](img/ConfigureTraefikMiddlewares.png)
# Verify Authentication
Once the `basicAuth` is installed, please visit the `URL` that you configured the `Ingress` for. If everything is setup correctly you should see the Pop-Up below.
![BasicAuthWorking](img/BasicAuthWorking.png)
## Video Guide
<iframe width="560" height="315" src="https://www.youtube.com/embed/hDdFKE5-c44" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen></iframe>
## Support
- If you need more help you can also reach us using [Discord](https://discord.gg/tVsPTHWTtr) for real-time feedback and support.