From 12e25d04d303a06fb2219c4427cdc56a5fc938fc Mon Sep 17 00:00:00 2001 From: liss-bot Date: Sun, 21 Jul 2024 02:28:08 +0100 Subject: [PATCH 01/21] :purple_heart: Updates contributors list --- docs/credits.md | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/docs/credits.md b/docs/credits.md index dd859b13..b9bbc2f0 100644 --- a/docs/credits.md +++ b/docs/credits.md @@ -4,13 +4,6 @@ - - + + + - + + + - + + + - - - + +
- - github -
- GitHub -
-
koconder @@ -45,15 +38,15 @@
Zach Biles
-
UlisesGascon
Ulises Gascón
-
digitalarche @@ -88,15 +81,15 @@
Vlad
-
helixzz
HeliXZz
-
patvdv @@ -131,15 +124,15 @@
Null
-
getumbrel
Umbrel
-
M2TD From 264cb754cd7eb3b240aee5222dea5222fd5f73cb Mon Sep 17 00:00:00 2001 From: liss-bot Date: Sun, 21 Jul 2024 02:28:09 +0100 Subject: [PATCH 02/21] :yellow_heart: Updates sponsors table --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 3a555cb2..bb4f21ce 100644 --- a/README.md +++ b/README.md @@ -525,13 +525,6 @@ Huge thanks to the sponsors helping to support Dashy's development! - - + + + - + + + + - - - + + +
- - undefined -
- Undefined -
-
koconder @@ -566,15 +559,15 @@ Huge thanks to the sponsors helping to support Dashy's development!
Zach Biles
-
UlisesGascon
Ulises Gascón
-
digitalarche @@ -609,15 +602,15 @@ Huge thanks to the sponsors helping to support Dashy's development!
Vlad
-
helixzz
HeliXZz
-
patvdv @@ -639,6 +632,13 @@ Huge thanks to the sponsors helping to support Dashy's development! Göksel Yeşiller + + undefined +
+ Undefined +
+
Bastii717 From 17c3605794ea0e0566741861046db2251b52034b Mon Sep 17 00:00:00 2001 From: conlan0 <87742085+conlan0@users.noreply.github.com> Date: Thu, 25 Jul 2024 15:22:46 -0400 Subject: [PATCH 03/21] =?UTF-8?q?=E2=9C=A8=20Tactical=20RMM=20Widget?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Widgets/TacticalRMM.vue | 227 +++++++++++++++++++++++++ 1 file changed, 227 insertions(+) create mode 100644 src/components/Widgets/TacticalRMM.vue diff --git a/src/components/Widgets/TacticalRMM.vue b/src/components/Widgets/TacticalRMM.vue new file mode 100644 index 00000000..82f5e643 --- /dev/null +++ b/src/components/Widgets/TacticalRMM.vue @@ -0,0 +1,227 @@ + + + + + From bfcccd0139724797f1c49a7fbd524d1dcb12088a Mon Sep 17 00:00:00 2001 From: conlan0 <87742085+conlan0@users.noreply.github.com> Date: Thu, 25 Jul 2024 15:24:19 -0400 Subject: [PATCH 04/21] =?UTF-8?q?=E2=9C=A8=20Add=20Tactical=20RMM=20Widget?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Widgets/WidgetBase.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/Widgets/WidgetBase.vue b/src/components/Widgets/WidgetBase.vue index 739388fa..bcb16e12 100644 --- a/src/components/Widgets/WidgetBase.vue +++ b/src/components/Widgets/WidgetBase.vue @@ -115,6 +115,7 @@ const COMPAT = { 'synology-download': 'SynologyDownload', 'system-info': 'SystemInfo', 'tfl-status': 'TflStatus', + trmm: 'TacticalRMM', 'uptime-kuma': 'UptimeKuma', 'wallet-balance': 'WalletBalance', weather: 'Weather', From 78ea929c9361275b7efe8bb9b9f1c675f54d086e Mon Sep 17 00:00:00 2001 From: conlan0 <87742085+conlan0@users.noreply.github.com> Date: Thu, 25 Jul 2024 15:25:58 -0400 Subject: [PATCH 05/21] =?UTF-8?q?=F0=9F=A9=B9=20Send=20request=20body=20as?= =?UTF-8?q?=20data=20instead=20of=20json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/cors-proxy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/cors-proxy.js b/services/cors-proxy.js index 9c51214c..e1c9a8b6 100644 --- a/services/cors-proxy.js +++ b/services/cors-proxy.js @@ -33,7 +33,7 @@ module.exports = (req, res) => { const requestConfig = { method: req.method, url: targetURL, - json: req.body, + data: req.body, headers, }; From 7051aeda83b072fc2ed1f3365aa84eeaf9d17c09 Mon Sep 17 00:00:00 2001 From: conlan0 <87742085+conlan0@users.noreply.github.com> Date: Thu, 25 Jul 2024 15:54:37 -0400 Subject: [PATCH 06/21] =?UTF-8?q?=F0=9F=93=9D=20Add=20Tactical=20RMM=20Doc?= =?UTF-8?q?umentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/widgets.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/widgets.md b/docs/widgets.md index a657693a..4c504c21 100644 --- a/docs/widgets.md +++ b/docs/widgets.md @@ -67,6 +67,7 @@ Dashy has support for displaying dynamic content in the form of widgets. There a - [Drone CI Build](#drone-ci-builds) - [Linkding](#linkding) - [Uptime Kuma](#uptime-kuma) + - [Tactical RMM](#tactical-rmm) - **[System Resource Monitoring](#system-resource-monitoring)** - [CPU Usage Current](#current-cpu-usage) - [CPU Usage Per Core](#cpu-usage-per-core) @@ -2333,6 +2334,41 @@ Linkding is a self-hosted bookmarking service, which has a clean interface and i - **Host**: Self-Hosted (see [Uptime Kuma](https://github.com/louislam/uptime-kuma) ) - **Privacy**: _See [Uptime Kuma](https://github.com/louislam/uptime-kuma)_ +--- + +### Tactical RMM + +[Tactical RMM](https://github.com/amidaware/tacticalrmm) is a self-hosted remote monitoring & management tool. + +

Capture

+ + +#### Options + +| **Field** | **Type** | **Required** | **Description** | +| ------------ | -------- | ------------ | ------------------------------------------------------------------------ | +| **`url`** | `string` | Required | The status endpoint URL (https://api.example.com/core/status/) | +| **`token`** | `string` | Required | The MON_TOKEN (see https://docs.tacticalrmm.com/tipsntricks/#monitor-your-trmm-instance-via-the-built-in-monitoring-endpoint). | + +#### Example + +```yaml +- type: trmm + useProxy: true + options: + token: PkPVKMzbmXgeQDlJWb0WXYvsIk3JvZyadURud2cSTdMia6hUbQ + url: https://api.example.com/core/status/ +``` + +#### Info + +- **CORS**: 🟠 Proxied +- **Auth**: 🟢 Required +- **Price**: 🟢 Free +- **Host**: Self-Hosted (see [Tactical RMM](https://github.com/amidaware/tacticalrmm) ) +- **Privacy**: _See [Tactical RMM](https://github.com/amidaware/tacticalrmm)_ + + --- ## System Resource Monitoring From 92c430a817aa8cf073c10a12dd69a94dc43a0f28 Mon Sep 17 00:00:00 2001 From: liss-bot Date: Sun, 28 Jul 2024 02:28:04 +0100 Subject: [PATCH 07/21] :purple_heart: Updates contributors list --- docs/credits.md | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/docs/credits.md b/docs/credits.md index b9bbc2f0..497f31a5 100644 --- a/docs/credits.md +++ b/docs/credits.md @@ -97,13 +97,6 @@ Patrick Van Der Veken
- - plgonzalezrx8 -
- Pedro Gonzalez -
-
mryesiller @@ -131,14 +124,6 @@
Umbrel
-
- - M2TD -
- Null -
@@ -146,7 +131,8 @@
Null
-
terminaltrove @@ -160,6 +146,13 @@
Null
+
+ + hudsonrock-partnerships +
+ Null +
From 33b4343dd4fb1218ff05d85dcef24d4135a06e0a Mon Sep 17 00:00:00 2001 From: liss-bot Date: Sun, 28 Jul 2024 02:28:06 +0100 Subject: [PATCH 08/21] :yellow_heart: Updates sponsors table --- README.md | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index bb4f21ce..b79d0f10 100644 --- a/README.md +++ b/README.md @@ -618,13 +618,6 @@ Huge thanks to the sponsors helping to support Dashy's development! Patrick Van Der Veken
- - plgonzalezrx8 -
- Pedro Gonzalez -
-
mryesiller @@ -646,14 +639,6 @@ Huge thanks to the sponsors helping to support Dashy's development! Bastii717 - - M2TD -
- M2TD -
-
frankdez93 @@ -668,6 +653,14 @@ Huge thanks to the sponsors helping to support Dashy's development! Nrvo
+ + hudsonrock-partnerships +
+ hudsonrock-partnerships +
+
From d8d55d7d944129cdb472c0859f37382cf08e806a Mon Sep 17 00:00:00 2001 From: IP2Location Date: Wed, 31 Jul 2024 11:13:16 +0800 Subject: [PATCH 09/21] Added support for IP2Location.io API --- docs/privacy.md | 3 ++- docs/widgets.md | 8 ++++---- src/components/Widgets/PublicIp.vue | 11 ++++++++++- src/utils/defaults.js | 1 + 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/docs/privacy.md b/docs/privacy.md index 05c44c97..1c150e50 100644 --- a/docs/privacy.md +++ b/docs/privacy.md @@ -118,9 +118,10 @@ Dashy supports [Widgets](/docs/widgets.md) for displaying dynamic content. Below - [OWM Privacy Policy](https://openweather.co.uk/privacy-policy) - **[RSS Feed](/docs/widgets.md#rss-feed)**: `https://api.rss2json.com/v1/api.json` - [Rss2Json Privacy Policy](https://rss2json.com/privacy-policy) -- **[IP Address](/docs/widgets.md#public-ip)**: `https://ipapi.co/json` or `http://ip-api.com/json` +- **[IP Address](/docs/widgets.md#public-ip)**: `https://ipapi.co/json` or `http://ip-api.com/json` or `https://api.ip2location.io/` - [IPGeoLocation Privacy Policy](https://ipgeolocation.io/privacy.html) - [IP-API Privacy Policy](https://ip-api.com/docs/legal) + - [IP2Location.io Privacy Policy](https://ip2location.io/privacy-policy) - **[IP Blacklist](/docs/widgets.md#ip-blacklist)**: `https://api.blacklistchecker.com` - [Blacklist Checker Privacy Policy](https://blacklistchecker.com/privacy) - **[Domain Monitor](/docs/widgets.md#domain-monitor)**: `http://api.whoapi.com` diff --git a/docs/widgets.md b/docs/widgets.md index a657693a..c66fa521 100644 --- a/docs/widgets.md +++ b/docs/widgets.md @@ -287,7 +287,7 @@ Unless image fetched from remote source, no external data request is made. ### Public IP -Often find yourself searching "What's my IP", just so you can check your VPN is still connected? This widget displays your public IP address, along with ISP name and approx location. Data can be fetched from either [IpApi.co](https://ipapi.co/), [IP-API.com](https://ip-api.com/) or [IpGeolocation.io](https://ipgeolocation.io/). +Often find yourself searching "What's my IP", just so you can check your VPN is still connected? This widget displays your public IP address, along with ISP name and approx location. Data can be fetched from either [IpApi.co](https://ipapi.co/), [IP-API.com](https://ip-api.com/), [IpGeolocation.io](https://ipgeolocation.io/) or [IP2Location.io](https://ip2location.io/).

@@ -297,8 +297,8 @@ _All fields are optional._ **Field** | **Type** | **Required** | **Description** --- | --- | --- | --- -**`provider`** | `string` | _Optional_ | The name of the service to fetch IP address from. Can be either `ipapi.co`, `ip-api` or `ipgeolocation`. Defaults to `ipapi.co`. Note, `ip-api` doesn't work on HTTPS, and if you set to `ipgeolocation` then you must also provide an API key -**`apiKey`** | `string` | _Optional_ | Only required if provider is set to `ipgeolocation`. You can get a free API key [here](https://ipgeolocation.io/signup.html) +**`provider`** | `string` | _Optional_ | The name of the service to fetch IP address from. Can be either `ipapi.co`, `ip-api`, `ipgeolocation` or `ip2location.io`. Defaults to `ipapi.co`. Note, `ip-api` doesn't work on HTTPS, and if you set to `ipgeolocation` or `ip2location.io` then you must also provide an API key +**`apiKey`** | `string` | _Optional_ | Only required if provider is set to `ipgeolocation` or `ip2location.io`. You can get a free IPGeolocation API key [here](https://ipgeolocation.io/signup.html) or a free IP2Location.io API key [here](https://ip2location.io/pricing) #### Example @@ -321,7 +321,7 @@ Or - **Auth**: 🟠 Optional - **Price**: 🟢 Free - **Host**: Managed Instance Only -- **Privacy**: _See [IPGeoLocation Privacy Policy](https://ipgeolocation.io/privacy.html) or [IP-API Privacy Policy](https://ip-api.com/docs/legal)_ +- **Privacy**: _See [IPGeoLocation Privacy Policy](https://ipgeolocation.io/privacy.html) or [IP-API Privacy Policy](https://ip-api.com/docs/legal) or [IP2Location.io Privacy Policy](https://ip2location.io/privacy-policy) --- diff --git a/src/components/Widgets/PublicIp.vue b/src/components/Widgets/PublicIp.vue index 8a188974..a3a31510 100644 --- a/src/components/Widgets/PublicIp.vue +++ b/src/components/Widgets/PublicIp.vue @@ -24,6 +24,8 @@ export default { endpoint() { if (this.provider === 'ipgeolocation') { return `${widgetApiEndpoints.publicIp2}?apiKey=${this.apiKey}`; + } else if (this.provider === 'ip2location.io') { + return `${widgetApiEndpoints.publicIp4}?key=${this.apiKey}`; } else if (this.provider === 'ipapi') { return widgetApiEndpoints.publicIp3; } @@ -31,10 +33,11 @@ export default { }, apiKey() { if (this.provider === 'ipgeolocation' && !this.options.apiKey) this.error('Missing API Key'); + if (this.provider === 'ip2location.io' && !this.options.apiKey) this.error('Missing API Key'); return this.options.apiKey; }, provider() { - // Can be either `ip-api`, `ipapi.co` or `ipgeolocation` + // Can be either `ip-api`, `ipapi.co`, `ipgeolocation` or `ip2location.io` return this.parseAsEnvVar(this.options.provider) || 'ipapi.co'; }, }, @@ -72,6 +75,12 @@ export default { this.location = `${ipInfo.city}, ${ipInfo.regionName}`; this.flagImg = getCountryFlag(ipInfo.countryCode); this.mapsUrl = getMapUrl({ lat: ipInfo.lat, lon: ipInfo.lon }); + } else if (this.provider === 'ip2location.io') { + this.ipAddr = ipInfo.ip; + this.ispName = ipInfo.isp || 'IP2Location.io Starter plan or higher required.'; + this.location = `${ipInfo.city_name}, ${ipInfo.region_name}`; + this.flagImg = getCountryFlag(ipInfo.country_code); + this.mapsUrl = getMapUrl({ lat: ipInfo.latitude, lon: ipInfo.longitude }); } else { this.error('Unknown API provider fo IP address'); } diff --git a/src/utils/defaults.js b/src/utils/defaults.js index f952a18b..e1918bed 100644 --- a/src/utils/defaults.js +++ b/src/utils/defaults.js @@ -244,6 +244,7 @@ module.exports = { publicIp: 'https://ipapi.co/json', publicIp2: 'https://api.ipgeolocation.io/ipgeo', publicIp3: 'http://ip-api.com/json', + publicIp4: 'https://api.ip2location.io/', readMeStats: 'https://github-readme-stats.vercel.app/api', rescueTime: 'https://www.rescuetime.com/anapi/data', rssToJson: 'https://api.rss2json.com/v1/api.json', From c542e5b2c13c5a6b31429ce92fb0f9ef7a1252b3 Mon Sep 17 00:00:00 2001 From: Thibaut <108188070+ThibautSnoeijs@users.noreply.github.com> Date: Sat, 3 Aug 2024 16:10:14 +0200 Subject: [PATCH 10/21] Fixed a typo --- docs/deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/deployment.md b/docs/deployment.md index 2a3619f0..3f10642a 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -182,7 +182,7 @@ dashy should be up within 1-2min after you've started the install task procedure If you do not want to use Docker, you can run Dashy directly on your host system. For this, you will need both [git](https://git-scm.com/downloads) and the latest or LTS version of [Node.js](https://nodejs.org/) installed, and optionally [yarn](https://yarnpkg.com/) 1. Get Code: `git clone https://github.com/Lissy93/dashy.git` and `cd dashy` -2. Configuration: Fill in you're settings in `./user-data/conf.yml` +2. Configuration: Fill in your settings in `./user-data/conf.yml` 3. Install dependencies: `yarn` 4. Build: `yarn build` 5. Run: `yarn start` From 5a3f81e2509649a77c60474e19ef5be36118eec2 Mon Sep 17 00:00:00 2001 From: liss-bot Date: Sun, 4 Aug 2024 02:28:09 +0100 Subject: [PATCH 11/21] :purple_heart: Updates contributors list --- docs/credits.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/credits.md b/docs/credits.md index 497f31a5..a23ab3bd 100644 --- a/docs/credits.md +++ b/docs/credits.md @@ -104,6 +104,13 @@ Göksel Yeşiller + + + sushibait +
+ Shiverme Timbers +
+ forwardemail @@ -124,15 +131,15 @@
Umbrel
- + + frankdez93
Null
- - + terminaltrove @@ -149,7 +156,7 @@ - hudsonrock-partnerships + hudsonrock-partnerships
Null
From 090fc87859d16255b2ccbde83bc72fd143f3a337 Mon Sep 17 00:00:00 2001 From: liss-bot Date: Sun, 4 Aug 2024 02:28:11 +0100 Subject: [PATCH 12/21] :yellow_heart: Updates sponsors table --- README.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b79d0f10..0215967a 100644 --- a/README.md +++ b/README.md @@ -625,6 +625,13 @@ Huge thanks to the sponsors helping to support Dashy's development! Göksel Yeşiller + + + sushibait +
+ Shiverme Timbers +
+ undefined @@ -645,20 +652,20 @@ Huge thanks to the sponsors helping to support Dashy's development!
Frankdez93
- + + nrvo
Nrvo
- - + - hudsonrock-partnerships + hudsonrock-partnerships
- hudsonrock-partnerships + Hudsonrock-partnerships
From c5649b80e9da4c439cd9facfac15dffc10443ebb Mon Sep 17 00:00:00 2001 From: kt-alt Date: Sun, 4 Aug 2024 01:07:50 -0700 Subject: [PATCH 13/21] updated dead tama theme bkgUrl --- src/styles/color-themes.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/color-themes.scss b/src/styles/color-themes.scss index ff80b30a..a5ed8512 100644 --- a/src/styles/color-themes.scss +++ b/src/styles/color-themes.scss @@ -1999,7 +1999,7 @@ html[data-theme="tama"] { // Background Image body { //update the query terms after the '?', to customize for images you want - background: url('https://source.unsplash.com/random/1920x1080/?dark,calm,nature,background'); + background: url('https://picsum.photos/1920/1080'); background-color: var(--background-darker); background-size: cover; } From 531bb954d66a7a02c32621f9f90e2e0c2d2ef465 Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Mon, 5 Aug 2024 12:20:36 +0100 Subject: [PATCH 14/21] =?UTF-8?q?=F0=9F=8E=A8=20New=20theme:=20NightBat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/LinkItems/Item.vue | 25 ++++++++++ src/styles/color-themes.scss | 82 +++++++++++++++++++++++++++++++ src/utils/defaults.js | 1 + 3 files changed, 108 insertions(+) diff --git a/src/components/LinkItems/Item.vue b/src/components/LinkItems/Item.vue index 753b2f95..5ddc8d87 100644 --- a/src/components/LinkItems/Item.vue +++ b/src/components/LinkItems/Item.vue @@ -34,6 +34,8 @@ :statusSuccess="statusResponse ? statusResponse.successStatus : undefined" :statusText="statusResponse ? statusResponse.message : undefined" /> + +

{{ item.url | shortUrl }}

@@ -122,6 +124,26 @@ export default { } }, }, + filters: { + shortUrl(value) { + if (!value || typeof value !== 'string') { + return ''; + } + try { + // Use URL constructor to parse the input + const url = new URL(value); + return url.hostname; + } catch (e) { + // If the input is not a valid URL, try to handle it as an IP address + const ipPattern = /^(\d{1,3}\.){3}\d{1,3}/; + const match = value.match(ipPattern); + if (match) { + return match[0]; + } + return ''; + } + }, + }, data() { return { editMenuOpen: false, @@ -209,6 +231,9 @@ export default { &.span-7 { min-width: 14%; } &.span-8 { min-width: 12.5%; } } + .item-url { + display: none; + } } .item { diff --git a/src/styles/color-themes.scss b/src/styles/color-themes.scss index ff80b30a..6b28f39c 100644 --- a/src/styles/color-themes.scss +++ b/src/styles/color-themes.scss @@ -1849,6 +1849,88 @@ html[data-theme='neomorphic'] { } +html[data-theme="night-bat"] { + // Main colors + --primary: #4780ff; + --background: #252931; + --background-darker: #303540; + // Typography + --font-headings: 'Podkova', 'Roboto', serif; + --font-body: 'Roboto', serif; + --heading-text-color: #fff; + // Items + --item-background: #303540; + --item-background-hover: var(--item-background); + --item-shadow: 0px 3px 0px var(--primary), 2px 2px 6px var(--black); + --item-hover-shadow: 0px 20px 0px 0 var(--primary), 2px 2px 6px var(--black); + // Sections + --item-group-heading-text-color: var(--white); + --item-group-heading-text-color-hover: var(--white); + --item-group-shadow: none; + --item-group-background: none; + --item-group-outer-background: none; + // Nav Links + --nav-link-background-color: var(--background); + --nav-link-background-color-hover: var(--background); + --nav-link-border-color: transparent; + --nav-link-border-color-hover: transparent; + --nav-link-shadow: 4px 4px 0px var(--background-darker), -3px 0px 0px var(--primary), 2px 2px 6px var(--black); + --nav-link-shadow-hover: 6px 6px 0px var(--background-darker), -4px 0px 0px var(--primary), 2px 2px 9px var(--black); + // Misc + --curve-factor: 4px; + --curve-factor-navbar: 8px; + + --widget-text-color: var(--white); + + // Style overrides + label.lbl-toggle h3 { font-size: 1.3rem; font-weight: bold; } + .content-inner { border-top: 1px dashed var(--primary); } + .item.size-large .tile-title p.description { height: 3rem; } + .item, .nav-outer nav .nav-item { border-radius: 1px; } + .item.size-large { margin: 0.5rem; } + // Show outline when collapsed + .is-collapsed { + background: var(--item-background); + box-shadow: var(--item-shadow); + &:hover { + background: var(--item-background-hover); + box-shadow: var(--item-hover-shadow); + } + } + .widget-base { + background: var(--background-darker); + padding: 1rem 0.5rem; + margin: 0.5rem 0; + } + + .item-wrapper { + .item-url { + display: block; + opacity: 0; + position: absolute; + bottom: -1.9rem; + font-size: 0.8rem; + color: var(--background); + transition: all 0.2s cubic-bezier(0.8, 0.8, 0.4, 1.4); + } + a { + transition: all 0.2s cubic-bezier(0.8, 0.8, 0.4, 1.4); + height: calc(100% - 1rem); + } + &:hover { + a { height: calc(100% - 2rem); } + .item-icon { + transform: scale(0.9); + } + .item-url { + display: block; + opacity: 1; + } + } + } +} + + html[data-theme='cherry-blossom'] { --primary: #e1e8ee; --background: #11171d; diff --git a/src/utils/defaults.js b/src/utils/defaults.js index f952a18b..1722ca03 100644 --- a/src/utils/defaults.js +++ b/src/utils/defaults.js @@ -89,6 +89,7 @@ module.exports = { 'tama', 'neomorphic', 'glass-2', + 'night-bat', ], /* Default color options for the theme configurator swatches */ swatches: [ From 15c1c95bc0ad5e0c77d30ebc2fc2f0aee8582e2c Mon Sep 17 00:00:00 2001 From: liss-bot Date: Sun, 11 Aug 2024 02:28:15 +0100 Subject: [PATCH 15/21] :purple_heart: Updates contributors list --- docs/credits.md | 408 +++++++++++++++++++++++++----------------------- 1 file changed, 211 insertions(+), 197 deletions(-) diff --git a/docs/credits.md b/docs/credits.md index a23ab3bd..70f615b2 100644 --- a/docs/credits.md +++ b/docs/credits.md @@ -118,21 +118,28 @@ Forward Email - Open-source & Privacy-focused Email Service (2023) + + + semiceau +
+ GT +
+ Bastii717
Null
- + + getumbrel
Umbrel
- - + frankdez93 @@ -182,13 +189,6 @@ Alicia Bot - - - marekful -
- Marcell Fülöp -
- CrazyWolf13 @@ -196,6 +196,13 @@ Tobias + + + marekful +
+ Marcell Fülöp +
+ EVOTk @@ -340,34 +347,6 @@ - - - Totto16 -
- Totto16 -
- - - - toddejohnson -
- Todd Johnson -
- - - - remygrandin -
- Remygrandin -
- - - - DimitriDR -
- Dimitri -
- aviolaris @@ -381,34 +360,55 @@
David Alasow
+ + + + DimitriDR +
+ Dimitri +
+ + + + remygrandin +
+ Remygrandin +
+ + + + toddejohnson +
+ Todd Johnson +
+ + + + Totto16 +
+ Totto16 +
- - rubenandre + + alucarddelta
- Rúben Silva + Brent
- - rtm516 + + berksmbl
- Rtm516 + Berk Sümbül
- - onedr0p + + Tuzi555
- ᗪєνιη ᗷυнʟ -
- - - - stanly0726 -
- Stanly0726 + Jakub Tuzar
@@ -419,53 +419,60 @@ - - Tuzi555 -
- Jakub Tuzar -
- - - - - berksmbl -
- Berk Sümbül -
- - - - alucarddelta -
- Brent -
- - - - BySempron -
- Sergio -
- - - - ssrangisetti + + kt-alt
Null
- - zigotica + + stanly0726
- Sergi Meseguer + Stanly0726 +
+ + + + + onedr0p +
+ ᗪєνιη ᗷυнʟ
- - rokiden + + rtm516
- Denis Kazimirov + Rtm516 +
+ + + + rubenandre +
+ Rúben Silva +
+ + + + itsmejoeeey +
+ Joey Miller +
+ + + + k073l +
+ Null +
+ + + + mmihaly +
+ Null
@@ -477,67 +484,60 @@ - - mmihaly + + rokiden +
+ Denis Kazimirov +
+ + + + zigotica +
+ Sergi Meseguer +
+ + + + ssrangisetti
Null
- - kt-alt + + BySempron +
+ Sergio +
+ + + + hockeymikey
Null
- - - - k073l -
- Null -
- - - - alayham -
- Al-Ayham Saleh -
- - - - alexdelprete -
- Alessandro Del Prete -
- - a-mnich + + thomaswienecke
- Alexander Mnich + Thomas Wienecke
- - BOZG + + twsouthwick
- Stephen Rigney + Taylor Southwick
- - moemoeq + + GuilhermeLCS95
- CHAIYEON CHO -
- - - - daentech -
- Dan Gilbert + GuilhermeLCS
@@ -548,46 +548,46 @@ - - GuilhermeLCS95 + + daentech
- GuilhermeLCS + Dan Gilbert +
+ + + + moemoeq +
+ CHAIYEON CHO
- - twsouthwick + + BOZG
- Taylor Southwick + Stephen Rigney
- - thomaswienecke + + a-mnich
- Thomas Wienecke + Alexander Mnich
- - hockeymikey + + alexdelprete
- Null + Alessandro Del Prete
- - itsmejoeeey + + alayham
- Joey Miller -
- - - - PrynsTag -
- Prince Carl Velasco + Al-Ayham Saleh
@@ -596,15 +596,15 @@
Null - - + turnrye
Ryan Turner
- + + sachahjkl @@ -639,15 +639,15 @@
Null
- - + stavros-k
Stavros Kois
- + + XenonR @@ -655,6 +655,20 @@ Steffen Schmidt + + + StevKast +
+ Steven Kast +
+ + + + PrynsTag +
+ Prince Carl Velasco +
+ PlusaN @@ -675,15 +689,15 @@
Nicholas Malcolm
- + + michaelfeinbier
Michael Feinbier
- - + stinkybernie @@ -712,13 +726,6 @@ Maxime Moreillon - - - Glitch3dPenguin -
- Max Kulik -
- AmadeusGraves @@ -849,13 +856,20 @@ - - StevKast + + ThibautSnoeijs
- Steven Kast + Thibaut
+ + + Glitch3dPenguin +
+ Max Kulik +
+ edugof @@ -890,15 +904,15 @@
Doug Lock
- + + dkyeremeh
Desmond Kyeremeh
- - + deepsourcebot @@ -933,15 +947,15 @@
Celestial.y
- + + bskim45
Bumsoo Kim
- - + BhasherBEL @@ -976,15 +990,15 @@
Aly Mohamed
- + + 5idereal
5idereal
- - + 0n1cOn3 @@ -1019,15 +1033,15 @@
Leonardo Colman Lopes
- + + KierenConnell
Kieren Connell
- - + kieraneglin @@ -1062,15 +1076,15 @@
Ishan Jain
- + + Compunctus
Iaroslav Dronskii
- - + nealian @@ -1078,6 +1092,13 @@ Ian Neal + + + ip2location +
+ IP2Location +
+ FraglyG @@ -1098,7 +1119,8 @@
Garrett Brown
- + + FormatToday @@ -1112,14 +1134,6 @@
Fedello
- - - - - ethan-hann -
- Ethan Hann -
From 2b59c32ad6f216eb921f867441dd7f0bd2d66143 Mon Sep 17 00:00:00 2001 From: liss-bot Date: Sun, 11 Aug 2024 02:28:17 +0100 Subject: [PATCH 16/21] :yellow_heart: Updates sponsors table --- README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0215967a..4d84d6b0 100644 --- a/README.md +++ b/README.md @@ -639,21 +639,28 @@ Huge thanks to the sponsors helping to support Dashy's development! Undefined + + + semiceau +
+ GT +
+ Bastii717
Bastii717
- + + frankdez93
Frankdez93
- - + nrvo From c372da6971a93094ae9df7cecbbdeace49a80238 Mon Sep 17 00:00:00 2001 From: Alicia Bot <87835202+liss-bot@users.noreply.github.com> Date: Sun, 11 Aug 2024 02:28:22 +0100 Subject: [PATCH 17/21] :blue_heart: Updates contributor SVG --- docs/assets/CONTRIBUTORS.svg | 293 ++++++++++++++++++----------------- 1 file changed, 148 insertions(+), 145 deletions(-) diff --git a/docs/assets/CONTRIBUTORS.svg b/docs/assets/CONTRIBUTORS.svg index 97771fdc..44613082 100644 --- a/docs/assets/CONTRIBUTORS.svg +++ b/docs/assets/CONTRIBUTORS.svg @@ -6,11 +6,11 @@ - - - - + + + + @@ -69,164 +69,164 @@ - - - - - - - - - - - - - + - + - - + + - - + + - - + + - - - - - - - - - - - + + - + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + + + + + + + - + - + - + - + - + - + - + - - - - + @@ -282,118 +282,121 @@ - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - - - - + - + \ No newline at end of file From 535c6ab96b8ae1cb8dc1f3c91872a5a6aca1264f Mon Sep 17 00:00:00 2001 From: Aaron Echols Date: Mon, 12 Aug 2024 12:49:41 -0400 Subject: [PATCH 18/21] Update authentication.md Add `authenik` documentation. --- docs/authentication.md | 182 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 181 insertions(+), 1 deletion(-) diff --git a/docs/authentication.md b/docs/authentication.md index 7cf49a20..b1961a94 100644 --- a/docs/authentication.md +++ b/docs/authentication.md @@ -15,6 +15,8 @@ - [Setting up Keycloak](#2-setup-keycloak-users) - [Configuring Dashy for Keycloak](#3-enable-keycloak-in-dashy-config-file) - [Toubleshooting Keycloak](#troubleshooting-keycloak) +- [OIDC Auth](#oidc) + - [authentik](#authentik) - [Alternative Authentication Methods](#alternative-authentication-methods) - [VPN](#vpn) - [IP-Based Access](#ip-based-access) @@ -311,10 +313,188 @@ identity_providers: - 'groups' ``` -Groups and roles will be populated and available for controlling display similar to [Keycloak](#Keycloak) abvoe. +Groups and roles will be populated and available for controlling display similar to [Keycloak](#Keycloak) above. --- +### authentik + +This documentation is specific to `authentik`, however it may be useful in getting other idP's working with `Dashy`. + +This guide will only walk through the following: + * Creating and configuring an OIDC provider + * Creating and configuring an application + * Assigning groups + * Configuring `Dashy` to use the OIDC client + * Show quick examples of how to hide/show `pages`, `items`, and `sections` using OIDC groups + +This guide assumes the following: + * You have an already configured and working implementation of `authentik` + * You have a working instance of `authentik` terminated with SSL + * You have a working instance of `Dashy` terminated with SSL + * Users and groups are provisioned + * You are familiar with how `authentik` works in case you need to do further troubleshooting that is outside the scope of this guide. + +>[!TIP] +>It it recommended that you create groups specific for `Dashy`. Groups will allow you to display content based on group membership as well as limiting user access to `Dashy`. If you do not need this functionality, then you can forgo creating specific groups. + +>[!TIP] +>You can use the application wizard to create the provider and application at one time. This is the recommended this route, but only the manual process will be outlined in this guide. + +![image](https://github.com/user-attachments/assets/72e45162-6c86-4d6f-a1ae-724ac503c00c) + +#### 1. Create an OIDC provider + +Login to the admin console for `authentik`. Go to `Applications` > `Providers`. Click `Create`. + +![image](https://github.com/user-attachments/assets/c1f7f45d-469c-4bf1-a825-34658341a83e) + +A dialog box will pop-up, select the `OAuth2/OpenID Provider`. Click `Next`. + +![image](https://github.com/user-attachments/assets/ea84fe57-b813-404d-8dad-5e221b440bdb) + +On the next page of the wizard, set the `Name`, `Authentication flow`, and `Authorization flow`. See example below. Using the `default-provider-authorization-implicit-consent` authorization flow on internal services and `default-provider-authorization-explicit-consent` on external services is a common practice. However, it is fully up to you on how you would like to configure this option. `Implicit` will login directly without user consent, `explicit` will ask if the user approves the service being logged into with their user credentials. + +![image](https://github.com/user-attachments/assets/e600aeaf-08d1-49aa-b304-11e90e5c89cd) + +Scroll down and configure the `Protocol settings`. Set the `Client type` to `Public`. Add the `Redirect URIs/Origins (RegEx)`. If the site is hosted at `dashy.lan.domain.com`, then you would enter as the example below. + +>[!NOTE] +>If you have an internal and external domain for `Dashy`, enter both URI's. Enter each URI on a new line. + +![image](https://github.com/user-attachments/assets/4a289d7e-d7b4-4ff6-af5d-3e5202fae84e) + +Scroll down to set the `Signing Key`. It is recommended to use the built in `authentik Self-signed Certificate` here unless you have special needs for your own custom cert. + +![image](https://github.com/user-attachments/assets/386c0750-9d2b-4482-8938-8b301b489b38) + +Expand `Advanced protocol settings` then verify the `Scopes` are set to what is highlighted in `white` below. Set the `Subject mode` to `Based on the Users's Email`. + +![image](https://github.com/user-attachments/assets/ae5e87b8-1ad6-41dd-b6e1-9665623f842a) + +Lastly, toggle `Include claims in id_token` to on. Click `Finish` to complete creating the provider. + +![image](https://github.com/user-attachments/assets/25353b3c-3f54-47cf-bd47-b5023f86d7cf) + +Grab the generated `Client ID` and `OpenID Configuration Issuer` URL by clicking the newly created provider as this will use this later when `Dashy` is configured to use the OIDC auth mechanism. In this tutorial is what was generated and used below. Obviously adjust to the `Client ID` that was generated and use your domain here for the `issuer`. +``` +Client ID: pzN9DCMLqHTTatgtYFg50cl0jn1NmCyBC3wreX15 +OpenID Configuration Issuer: https://auth.domain.com/application/o/dashy/ +``` + +#### 2. Create an application + +Make sure you are still in the `authentik` admin console then go to `Applications` > `Applications`. Click `Create`. + +![image](https://github.com/user-attachments/assets/fd225936-15a1-409f-83c8-e24a43047df0) + +Next, it is needed to give a user facing `Name`, `Slug` and assign the newly created provider. Use the example below if you have been following the guide. If you have used your own naming, then adjust accordingly. Click `Create` once you are done. + +![image](https://github.com/user-attachments/assets/e6574d7d-6b22-4e7d-b388-45341b98746b) + +>[!TIP] +>Open the application in a new tab from the `authentik` user portal and upload a custom icon. You can also enter a user facing `Description` here that the user would see. + +![image](https://github.com/user-attachments/assets/20561387-549f-49de-98e6-30330dcdc734) + +#### 3. *(Optional)* Limiting access via `authentik` with groups + +If you would like to deny `Dashy` access from specific users who are not within `authentik` based groups, you bind them to the application you just created now. `authentik` will deny access to those who are not members of this group or groups. If you want to allow everyone access from your `authentik` instance, skip this step. + +Make sure you are still in the `authentik` admin console then go to `Applications` > `Applications`. Click the newly created `Dashy` application. + +![image](https://github.com/user-attachments/assets/613fafe7-881f-4664-a903-945854ac65e2) + +Click the `Policy/Group/User Bindings` tab at the top, then click `Bind existing policy`. This assumes you have already created the groups you want to use for `Dashy` and populated users in those groups. + +![image](https://github.com/user-attachments/assets/10fca15b-e77d-4624-ae03-0ece3910904c) + +Click `Group` for the binding type. Under `Group` select the appropriate group you would like to bind. Make sure `Enabled` is toggeled on. Click `Create`. + +![image](https://github.com/user-attachments/assets/ebf680ab-696f-4c08-ae89-d73fe92b398f) + +`Dashy` will now be scoped only to users within the assigned groups you have bound the application to. Keep adding groups if you would like to adjust the dashboard visibilty based on group membership. + +#### 4. Configure `Dashy` to use OIDC client + +>[!IMPORTANT] +>It is highly recommended to edit your `conf.yml` directly for this change. + +>[!CAUTION] +>Do not make the same mistake many have made here by including the fully qualified address for the `OpenID Configuration >URL`. `Dashy` will append the `.well-known` configuration automatically. If the `.well-known` URI is included the app will get redirect loops and `400` errors. + +Enter the `Client ID` in the `clientId` field and `OpenID Configuration Issuer` in the `endpoint` field. + +Below is how to configure the `auth` section in the yaml syntax. Once this is enabled, when you attempt to login it will redirect you to the `authentik` login page moving forward. + +``` +appConfig: + theme: glass + layout: auto + iconSize: medium + auth: + enableOidc: true + oidc: + clientId: pzN9DCMLqHTTatgtYFg50cl0jn1NmCyBC3wreX15 + endpoint: https://auth.domain.com/application/o/dashy/ +``` + +#### 5. *(OPTIONAL)* Example snippets for dashboard visibility + +Using the `hideForKeycloakUsers` configuration option is needed here to use the `authentik` groups that were created previously. + +Adjusting `pages` visibility: +``` +pages: + - name: App Management + path: appmgmt.yml + displayData: + hideForKeycloakUsers: + groups: + - Dashy Users + - name: Network Management + path: network.yml + displayData: + hideForKeycloakUsers: + groups: + - Dashy Users +``` + +Adjusting `items` visibility: +``` + items: + - title: Authentik Admin + icon: authentik.svg + url: https://auth.domain.com/if/admin/ + target: newtab + id: 0_1472_authentikadmin + displayData: + hideForKeycloakUsers: + groups: + - Dashy Users + - title: Authentik User + icon: authentik-light.png + url: https://auth.domain.com/if/user/ + target: newtab + id: 1_1472_authentikuser +``` + +Adjusting `sections` visibility: +``` +sections: + - name: Authentication + displayData: + sortBy: default + rows: 2 + cols: 1 + collapsed: false + hideForGuests: false + hideForKeycloakUsers: + groups: + - Dashy Users +``` +--- + ## Alternative Authentication Methods If you are self-hosting Dashy, and require secure authentication to prevent unauthorized access, then you can either use Keycloak, or one of the following options: From 2db28a311921ec0a3a437fa08bdfdd69750846fd Mon Sep 17 00:00:00 2001 From: Aaron Echols Date: Mon, 12 Aug 2024 12:59:05 -0400 Subject: [PATCH 19/21] authentication.md: fix typo --- docs/authentication.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/authentication.md b/docs/authentication.md index b1961a94..f9db8079 100644 --- a/docs/authentication.md +++ b/docs/authentication.md @@ -421,7 +421,7 @@ Click `Group` for the binding type. Under `Group` select the appropriate group y >It is highly recommended to edit your `conf.yml` directly for this change. >[!CAUTION] ->Do not make the same mistake many have made here by including the fully qualified address for the `OpenID Configuration >URL`. `Dashy` will append the `.well-known` configuration automatically. If the `.well-known` URI is included the app will get redirect loops and `400` errors. +>Do not make the same mistake many have made here by including the fully qualified address for the `OpenID Configuration URL`. `Dashy` will append the `.well-known` configuration automatically. If the `.well-known` URI is included the app will get redirect loops and `400` errors. Enter the `Client ID` in the `clientId` field and `OpenID Configuration Issuer` in the `endpoint` field. From d16cfb8b4eb69ecefd4c7ef3ea59fe98f2efff88 Mon Sep 17 00:00:00 2001 From: Aaron Echols Date: Mon, 12 Aug 2024 13:22:20 -0400 Subject: [PATCH 20/21] authentication.md: remove duplicate comment --- docs/authentication.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/authentication.md b/docs/authentication.md index f9db8079..14262402 100644 --- a/docs/authentication.md +++ b/docs/authentication.md @@ -329,7 +329,6 @@ This guide will only walk through the following: * Show quick examples of how to hide/show `pages`, `items`, and `sections` using OIDC groups This guide assumes the following: - * You have an already configured and working implementation of `authentik` * You have a working instance of `authentik` terminated with SSL * You have a working instance of `Dashy` terminated with SSL * Users and groups are provisioned From 37fd064fa49b16f06b811940a15b566500013461 Mon Sep 17 00:00:00 2001 From: Aaron Echols Date: Wed, 14 Aug 2024 12:45:23 -0400 Subject: [PATCH 21/21] authentication.md: fix some grammer --- docs/authentication.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/authentication.md b/docs/authentication.md index 14262402..d7cd66ad 100644 --- a/docs/authentication.md +++ b/docs/authentication.md @@ -338,7 +338,7 @@ This guide assumes the following: >It it recommended that you create groups specific for `Dashy`. Groups will allow you to display content based on group membership as well as limiting user access to `Dashy`. If you do not need this functionality, then you can forgo creating specific groups. >[!TIP] ->You can use the application wizard to create the provider and application at one time. This is the recommended this route, but only the manual process will be outlined in this guide. +>You can use the application wizard to create the provider and application at one time. This is the recommended route, but only the manual process will be outlined in this guide. ![image](https://github.com/user-attachments/assets/72e45162-6c86-4d6f-a1ae-724ac503c00c) @@ -375,7 +375,7 @@ Lastly, toggle `Include claims in id_token` to on. Click `Finish` to complete cr ![image](https://github.com/user-attachments/assets/25353b3c-3f54-47cf-bd47-b5023f86d7cf) -Grab the generated `Client ID` and `OpenID Configuration Issuer` URL by clicking the newly created provider as this will use this later when `Dashy` is configured to use the OIDC auth mechanism. In this tutorial is what was generated and used below. Obviously adjust to the `Client ID` that was generated and use your domain here for the `issuer`. +Grab the generated `Client ID` and `OpenID Configuration Issuer` URL by clicking the newly created provider as this will use this later when `Dashy` is configured to use the OIDC auth mechanism. In this tutorial, what was generated is used below. Obviously adjust the `Client ID` that was generated and use your domain here for the `issuer`. ``` Client ID: pzN9DCMLqHTTatgtYFg50cl0jn1NmCyBC3wreX15 OpenID Configuration Issuer: https://auth.domain.com/application/o/dashy/ @@ -387,12 +387,12 @@ Make sure you are still in the `authentik` admin console then go to `Application ![image](https://github.com/user-attachments/assets/fd225936-15a1-409f-83c8-e24a43047df0) -Next, it is needed to give a user facing `Name`, `Slug` and assign the newly created provider. Use the example below if you have been following the guide. If you have used your own naming, then adjust accordingly. Click `Create` once you are done. +Next, it is required to give a user facing `Name`, `Slug` and assign the newly created provider. Use the example below if you have been following the guide. If you have used your own naming, then adjust accordingly. Click `Create` once you are done. ![image](https://github.com/user-attachments/assets/e6574d7d-6b22-4e7d-b388-45341b98746b) >[!TIP] ->Open the application in a new tab from the `authentik` user portal and upload a custom icon. You can also enter a user facing `Description` here that the user would see. +>Open the application in a new tab from the `authentik` user portal and upload a custom icon. You can also enter a user facing `Description` that the user would see. ![image](https://github.com/user-attachments/assets/20561387-549f-49de-98e6-30330dcdc734) @@ -417,14 +417,14 @@ Click `Group` for the binding type. Under `Group` select the appropriate group y #### 4. Configure `Dashy` to use OIDC client >[!IMPORTANT] ->It is highly recommended to edit your `conf.yml` directly for this change. +>It is highly recommended to edit your `conf.yml` directly for this step. >[!CAUTION] >Do not make the same mistake many have made here by including the fully qualified address for the `OpenID Configuration URL`. `Dashy` will append the `.well-known` configuration automatically. If the `.well-known` URI is included the app will get redirect loops and `400` errors. Enter the `Client ID` in the `clientId` field and `OpenID Configuration Issuer` in the `endpoint` field. -Below is how to configure the `auth` section in the yaml syntax. Once this is enabled, when you attempt to login it will redirect you to the `authentik` login page moving forward. +Below is how to configure the `auth` section in the yaml syntax. Once this is enabled, when an attempt to access `Dashy` is made it will now redirect you to the `authentik` login page moving forward. ``` appConfig: @@ -440,7 +440,7 @@ appConfig: #### 5. *(OPTIONAL)* Example snippets for dashboard visibility -Using the `hideForKeycloakUsers` configuration option is needed here to use the `authentik` groups that were created previously. +Using the `hideForKeycloakUsers` configuration option is needed to use the `authentik` groups that were created previously. Adjusting `pages` visibility: ```