mirror of https://github.com/Lissy93/dashy.git
Auto Publish new pages
parent
25365851dd
commit
4d79b9e3bc
104
credits.md
104
credits.md
|
@ -96,13 +96,6 @@
|
|||
<br />
|
||||
<sub><b>Jtfinley72</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/baifengheixi">
|
||||
<img src="https://avatars.githubusercontent.com/u/98794233?u=73763035da00be68ea05f3a577b96e47784bd748&v=4" width="80;" alt="baifengheixi"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
</table>
|
||||
<!-- readme: sponsors -end -->
|
||||
|
@ -218,6 +211,13 @@
|
|||
<sub><b>Alberto</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/altearius">
|
||||
<img src="https://avatars.githubusercontent.com/u/270430?v=4" width="80;" alt="altearius"/>
|
||||
<br />
|
||||
<sub><b>Chris Nielsen</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/UrekD">
|
||||
<img src="https://avatars.githubusercontent.com/u/38784343?v=4" width="80;" alt="UrekD"/>
|
||||
|
@ -225,6 +225,14 @@
|
|||
<sub><b>UrekD</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/aviolaris">
|
||||
<img src="https://avatars.githubusercontent.com/u/48277853?v=4" width="80;" alt="aviolaris"/>
|
||||
<br />
|
||||
<sub><b>Andreas Violaris</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Tracreed">
|
||||
<img src="https://avatars.githubusercontent.com/u/6306365?v=4" width="80;" alt="Tracreed"/>
|
||||
|
@ -238,8 +246,7 @@
|
|||
<br />
|
||||
<sub><b>Dimitri</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/remygrandin">
|
||||
<img src="https://avatars.githubusercontent.com/u/1934515?v=4" width="80;" alt="remygrandin"/>
|
||||
|
@ -267,7 +274,8 @@
|
|||
<br />
|
||||
<sub><b>Jakub Tuzar</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Bogyie">
|
||||
<img src="https://avatars.githubusercontent.com/u/82003678?v=4" width="80;" alt="Bogyie"/>
|
||||
|
@ -281,8 +289,7 @@
|
|||
<br />
|
||||
<sub><b>Stanly0726</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/rubenandre">
|
||||
<img src="https://avatars.githubusercontent.com/u/9402773?v=4" width="80;" alt="rubenandre"/>
|
||||
|
@ -310,7 +317,8 @@
|
|||
<br />
|
||||
<sub><b>Alessandro Del Prete</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/a-mnich">
|
||||
<img src="https://avatars.githubusercontent.com/u/56564725?v=4" width="80;" alt="a-mnich"/>
|
||||
|
@ -324,8 +332,7 @@
|
|||
<br />
|
||||
<sub><b>Stephen Rigney</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/moemoeq">
|
||||
<img src="https://avatars.githubusercontent.com/u/1808434?v=4" width="80;" alt="moemoeq"/>
|
||||
|
@ -353,7 +360,8 @@
|
|||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/itsmejoeeey">
|
||||
<img src="https://avatars.githubusercontent.com/u/9375730?v=4" width="80;" alt="itsmejoeeey"/>
|
||||
|
@ -367,8 +375,7 @@
|
|||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/patrickheeney">
|
||||
<img src="https://avatars.githubusercontent.com/u/1407228?v=4" width="80;" alt="patrickheeney"/>
|
||||
|
@ -396,7 +403,8 @@
|
|||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/0n1cOn3">
|
||||
<img src="https://avatars.githubusercontent.com/u/27576311?v=4" width="80;" alt="0n1cOn3"/>
|
||||
|
@ -410,8 +418,7 @@
|
|||
<br />
|
||||
<sub><b>Artyom</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/BRAVO68WEB">
|
||||
<img src="https://avatars.githubusercontent.com/u/41448663?v=4" width="80;" alt="BRAVO68WEB"/>
|
||||
|
@ -433,28 +440,21 @@
|
|||
<sub><b>Bumsoo Kim</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/altearius">
|
||||
<img src="https://avatars.githubusercontent.com/u/270430?v=4" width="80;" alt="altearius"/>
|
||||
<br />
|
||||
<sub><b>Chris Nielsen</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/skaarj1989">
|
||||
<img src="https://avatars.githubusercontent.com/u/34756939?v=4" width="80;" alt="skaarj1989"/>
|
||||
<br />
|
||||
<sub><b>David</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/DawidPietrykowski">
|
||||
<img src="https://avatars.githubusercontent.com/u/53954695?v=4" width="80;" alt="DawidPietrykowski"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/deepsourcebot">
|
||||
<img src="https://avatars.githubusercontent.com/u/60907429?v=4" width="80;" alt="deepsourcebot"/>
|
||||
|
@ -489,15 +489,15 @@
|
|||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/FormatToday">
|
||||
<img src="https://avatars.githubusercontent.com/u/20515769?v=4" width="80;" alt="FormatToday"/>
|
||||
<br />
|
||||
<sub><b>FormatToday</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gbrown09">
|
||||
<img src="https://avatars.githubusercontent.com/u/3360055?v=4" width="80;" alt="gbrown09"/>
|
||||
|
@ -532,15 +532,15 @@
|
|||
<br />
|
||||
<sub><b>Jemy SCHNEPP</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Singebob">
|
||||
<img src="https://avatars.githubusercontent.com/u/24290044?v=4" width="80;" alt="Singebob"/>
|
||||
<br />
|
||||
<sub><b>Jeremy Chauvin</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/kieraneglin">
|
||||
<img src="https://avatars.githubusercontent.com/u/569917?v=4" width="80;" alt="kieraneglin"/>
|
||||
|
@ -575,15 +575,15 @@
|
|||
<br />
|
||||
<sub><b>Мирослав Асенов</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/markusdd">
|
||||
<img src="https://avatars.githubusercontent.com/u/25175069?v=4" width="80;" alt="markusdd"/>
|
||||
<br />
|
||||
<sub><b>Markus Krause</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/maximemoreillon">
|
||||
<img src="https://avatars.githubusercontent.com/u/29086128?v=4" width="80;" alt="maximemoreillon"/>
|
||||
|
@ -618,15 +618,15 @@
|
|||
<br />
|
||||
<sub><b>Prince Carl Velasco</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/rubjo">
|
||||
<img src="https://avatars.githubusercontent.com/u/42270947?v=4" width="80;" alt="rubjo"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/turnrye">
|
||||
<img src="https://avatars.githubusercontent.com/u/701035?v=4" width="80;" alt="turnrye"/>
|
||||
|
@ -661,15 +661,15 @@
|
|||
<br />
|
||||
<sub><b>Steven Kast</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/XertDev">
|
||||
<img src="https://avatars.githubusercontent.com/u/16572811?v=4" width="80;" alt="XertDev"/>
|
||||
<br />
|
||||
<sub><b>Xert</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/baifengheixi">
|
||||
<img src="https://avatars.githubusercontent.com/u/98794233?v=4" width="80;" alt="baifengheixi"/>
|
||||
|
@ -704,15 +704,15 @@
|
|||
<br />
|
||||
<sub><b>Aniket Teredesai</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/imlonghao">
|
||||
<img src="https://avatars.githubusercontent.com/u/4951333?v=4" width="80;" alt="imlonghao"/>
|
||||
<br />
|
||||
<sub><b>Imlonghao</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/jnach">
|
||||
<img src="https://avatars.githubusercontent.com/u/33467747?v=4" width="80;" alt="jnach"/>
|
||||
|
@ -747,15 +747,15 @@
|
|||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/poisonadder7">
|
||||
<img src="https://avatars.githubusercontent.com/u/29179009?v=4" width="80;" alt="poisonadder7"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/soaibsafi">
|
||||
<img src="https://avatars.githubusercontent.com/u/11424812?v=4" width="80;" alt="soaibsafi"/>
|
||||
|
|
|
@ -426,34 +426,16 @@ For examples of finished widget components, see the [Widgets](https://github.com
|
|||
|
||||
### Step 3 - Register
|
||||
|
||||
Next, import and register your new widget, in [`WidgetBase.vue`](https://github.com/Lissy93/dashy/blob/master/src/components/Widgets/WidgetBase.vue). In this file, you'll need to add the following:
|
||||
|
||||
Import your widget file
|
||||
Next, register your new widget in [`WidgetBase.vue`](https://github.com/Lissy93/dashy/blob/master/src/components/Widgets/WidgetBase.vue). In this file, you'll need to add the following:
|
||||
|
||||
```javascript
|
||||
import ExampleWidget from '@/components/Widgets/ExampleWidget.vue';
|
||||
```
|
||||
|
||||
Then register the component
|
||||
|
||||
```javascript
|
||||
components: {
|
||||
const COMPAT = {
|
||||
...
|
||||
ExampleWidget,
|
||||
},
|
||||
'example-widget': 'ExampleWidget',
|
||||
};
|
||||
```
|
||||
|
||||
Finally, add the markup to render it. The only attribute you need to change here is, setting `widgetType === 'example'` to your widget's name.
|
||||
|
||||
```vue
|
||||
<ExampleWidget
|
||||
v-else-if="widgetType === 'example'"
|
||||
:options="widgetOptions"
|
||||
@loading="setLoaderState"
|
||||
@error="handleError"
|
||||
:ref="widgetRef"
|
||||
/>
|
||||
```
|
||||
Here, the `example-widget` property name will be used to identify the widget when parsing the `type` property in a configuration file. The `ExampleWidget` string is used to dynamically import the widget, and therefore must match the widget's filename as it exists in the `components/widgets` folder.
|
||||
|
||||
### Step 4 - Docs
|
||||
|
||||
|
|
112
widgets.md
112
widgets.md
|
@ -37,6 +37,7 @@ Dashy has support for displaying dynamic content in the form of widgets. There a
|
|||
- [Healthchecks Status](#healthchecks-status)
|
||||
- [Mvg Departure](#mvg-departure)
|
||||
- [Mvg Connection](#mvg-connection)
|
||||
- [Custom search](#custom-search)
|
||||
- **[Self-Hosted Services Widgets](#self-hosted-services-widgets)**
|
||||
- [System Info](#system-info)
|
||||
- [Cron Monitoring](#cron-monitoring-health-checks)
|
||||
|
@ -58,6 +59,7 @@ Dashy has support for displaying dynamic content in the form of widgets. There a
|
|||
- [Nextcloud System](#nextcloud-system)
|
||||
- [Nextcloud Stats](#nextcloud-stats)
|
||||
- [Nextcloud PHP OPcache](#nextcloud-php-opcache-stats)
|
||||
- [Proxmox lists](#proxmox-lists)
|
||||
- [Sabnzbd](#sabnzbd)
|
||||
- [Gluetun VPN Info](#gluetun-vpn-info)
|
||||
- [Drone CI Build](#drone-ci-builds)
|
||||
|
@ -1263,11 +1265,61 @@ In other words: Private, noncomercial, moderate use of the API is tolerated. The
|
|||
|
||||
---
|
||||
|
||||
### Custom search
|
||||
|
||||
Allows web search using multiple user-defined search engines and other websites.
|
||||
|
||||
#### Options
|
||||
|
||||
**Field** | **Type** | **Required** | **Description**
|
||||
--- | --- | --- | ---
|
||||
**`engines`** | `array` | required | An array of search engine objects. Each search engine object should have two required properties: **title** and **url**. See the example below.
|
||||
**`placeholder`** | `string` | optional | Placeholder text in the search box.
|
||||
|
||||
#### Notes
|
||||
- The first search engine in the engines array will be treated as the default search engine, and used when the user presses `Enter` in the search box.
|
||||
- Popup blockers can interfere with opening a new search window.
|
||||
|
||||
#### Example
|
||||
|
||||
This widget allows searching multiple search engines from dashy.
|
||||
```yaml
|
||||
- type: 'custom-search'
|
||||
options:
|
||||
placeholder: Search for something using the buttons below
|
||||
engines:
|
||||
- title: SearXNG
|
||||
url: https://searx.lan/?q=
|
||||
- title: Quant
|
||||
url: https://www.qwant.com/?q=
|
||||
- title: Bing Web
|
||||
url: http://www.bing.com/search?q=
|
||||
- title: Bing Images
|
||||
url: http://www.bing.com/images/search?q=
|
||||
- title: Bing Maps
|
||||
url: http://www.bing.com/maps/search?q=
|
||||
- title: Yandex
|
||||
url: https://www.yandex.com/search/?text=
|
||||
- title: Passmark
|
||||
url: https://www.passmark.com/search/zoomsearch.php?zoom_query=
|
||||
- title: IMDB
|
||||
url: http://www.imdb.com/find?q=
|
||||
```
|
||||
#### Info
|
||||
|
||||
- **CORS**: 🟢 Not needed
|
||||
- **Auth**: 🟢 Not Required
|
||||
- **Price**: 🟢 Free
|
||||
- **Host**: user defined
|
||||
- **Privacy**: depends on the user defined search engines.
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Self-Hosted Services Widgets
|
||||
|
||||
### System Info
|
||||
|
||||
_See [MVG Datenschutz](https://www.mvg.de/datenschutz-mvg.html)_
|
||||
Displays info about the server which Dashy is hosted on. Includes user + host, operating system, uptime and basic memory & load data.
|
||||
|
||||
<p align="center"><img width="400" src="https://i.ibb.co/rvDPBDF/system-info.png" /></p>
|
||||
|
@ -1967,6 +2019,64 @@ Shows statistics about PHP OPcache performance on your Nextcloud server.
|
|||
- **Host**: Self-Hosted (see [Nextcloud](https://nextcloud.com))
|
||||
- **Privacy**: _See [Nextcloud Privacy Policy](https://nextcloud.com/privacy)_
|
||||
|
||||
|
||||
---
|
||||
|
||||
### Proxmox lists
|
||||
|
||||
Shows lists of nodes, containers, and VMs in a Proxmox virtual environment cluster, with a status indicator.
|
||||
|
||||
#### Options
|
||||
**Field** | **Type** | **Required** | **Description**
|
||||
--- | --- | --- | ---
|
||||
**`cluster_url`** | `string` | Required | The URL of the proxmox cluster server. No trailing `/`. for example: `https://proxmox.lan:8006`
|
||||
**`user_name`** | `string` | Required | A Proxmox API Username, for example `root@pam` or `dashy@pve`.
|
||||
**`token_name`** | `string` | Required | A Proxmox API token name. You can get a token in the API section of the cluster management interface.
|
||||
**`token_uuid`** | `string` | Required | The value of the token entered above. This is normally a UUID.
|
||||
**`node`** | `string` | optional | A Proxmox node name. If empty or not supplied, a list of nodes will be shown.
|
||||
**`node_data`** | `string` | optional | This is required if a node is selected, Currently this accepts two values, either `lxc` or `qemu` but the widget can be improved to get other types of data from the Proxmox API.
|
||||
**`title`** | `string` | optional | A widget title.
|
||||
**`title_as_link`** | `boolean` | optional | When this is set to anything other than 0 or false, the title will be linked to the value entered in the `cluster_url` option.
|
||||
**`footer`** | `string` | optional | A widget footer.
|
||||
**`footer_as_link`** | `boolean` | optional | When this is set to anything other than 0 or false, the title will be linked to the value entered in the `cluster_url` option.
|
||||
**`hide_templates`** | `boolean` | optional | When this is set to anything other than 0 or false, templates will be filtered out of the result list.
|
||||
|
||||
#### Example
|
||||
This will show the list of nodes.
|
||||
```yaml
|
||||
- type: proxmox-lists
|
||||
useProxy: true
|
||||
options:
|
||||
cluster_url: https://proxmox.lan:8006
|
||||
user_name: root@pam
|
||||
token_name: dashy
|
||||
token_uuid: bfb152df-abcd-abcd-abcd-ccb95a472d01
|
||||
```
|
||||
This will show the list of VMs, with a title and a linked fotter, hiding VM templates.
|
||||
```yaml
|
||||
- type: proxmox-lists
|
||||
useProxy: true
|
||||
options:
|
||||
cluster_url: https://proxmox.lan:8006
|
||||
user_name: root@pam
|
||||
token_name: dashy
|
||||
token_uuid: bfb152df-abcd-abcd-abcd-ccb95a472d01
|
||||
node: proxmox
|
||||
node_data: qemu
|
||||
title: Proxmox VMs
|
||||
title_as_link: false
|
||||
footer: Proxmox
|
||||
footer_as_link: true
|
||||
hide_templates: 1
|
||||
```
|
||||
#### Info
|
||||
|
||||
- **CORS**: 🟠 Proxied
|
||||
- **Auth**: 🟢 Required
|
||||
- **Price**: 🟢 Free
|
||||
- **Host**: Self-Hosted (see [Proxmox Virtual Environment](https://proxmox.com/en/proxmox-ve))
|
||||
- **Privacy**: _See [Proxmox's Privacy Policy](https://proxmox.com/en/privacy-policy)_
|
||||
|
||||
---
|
||||
|
||||
### Sabnzbd
|
||||
|
|
Loading…
Reference in New Issue