|
@@ -15,6 +15,8 @@
|
|
- [Reddit](#reddit)
|
|
- [Reddit](#reddit)
|
|
- [Search](#search-widget)
|
|
- [Search](#search-widget)
|
|
- [Group](#group)
|
|
- [Group](#group)
|
|
|
|
+ - [Split Column](#split-column)
|
|
|
|
+ - [Custom API](#custom-api)
|
|
- [Extension](#extension)
|
|
- [Extension](#extension)
|
|
- [Weather](#weather)
|
|
- [Weather](#weather)
|
|
- [Monitor](#monitor)
|
|
- [Monitor](#monitor)
|
|
@@ -30,8 +32,10 @@
|
|
- [Twitch Top Games](#twitch-top-games)
|
|
- [Twitch Top Games](#twitch-top-games)
|
|
- [iframe](#iframe)
|
|
- [iframe](#iframe)
|
|
- [HTML](#html)
|
|
- [HTML](#html)
|
|
|
|
+ - [Docker](#docker)
|
|
|
|
|
|
## Intro
|
|
## Intro
|
|
|
|
+<!-- TODO: update -->
|
|
Configuration is done via a single YAML file and a server restart is required in order for any changes to take effect. Trying to start the server with an invalid config file will result in an error.
|
|
Configuration is done via a single YAML file and a server restart is required in order for any changes to take effect. Trying to start the server with an invalid config file will result in an error.
|
|
|
|
|
|
## Preconfigured page
|
|
## Preconfigured page
|
|
@@ -111,6 +115,8 @@ This will give you a page that looks like the following:
|
|
|
|
|
|
Configure the widgets, add more of them, add extra pages, etc. Make it your own!
|
|
Configure the widgets, add more of them, add extra pages, etc. Make it your own!
|
|
|
|
|
|
|
|
+<!-- TODO: update - add information about top level document key -->
|
|
|
|
+
|
|
## Server
|
|
## Server
|
|
Server configuration is done through a top level `server` property. Example:
|
|
Server configuration is done through a top level `server` property. Example:
|
|
|
|
|
|
@@ -281,6 +287,7 @@ theme:
|
|
> .widget-type-rss a {
|
|
> .widget-type-rss a {
|
|
> font-size: 1.5rem;
|
|
> font-size: 1.5rem;
|
|
> }
|
|
> }
|
|
|
|
+> ```
|
|
>
|
|
>
|
|
> In addition, you can also use the `css-class` property which is available on every widget to set custom class names for individual widgets.
|
|
> In addition, you can also use the `css-class` property which is available on every widget to set custom class names for individual widgets.
|
|
|
|
|
|
@@ -313,6 +320,7 @@ pages:
|
|
| width | string | no | |
|
|
| width | string | no | |
|
|
| center-vertically | boolean | no | false |
|
|
| center-vertically | boolean | no | false |
|
|
| hide-desktop-navigation | boolean | no | false |
|
|
| hide-desktop-navigation | boolean | no | false |
|
|
|
|
+| expand-mobile-page-navigation | boolean | no | false |
|
|
| show-mobile-header | boolean | no | false |
|
|
| show-mobile-header | boolean | no | false |
|
|
| columns | array | yes | |
|
|
| columns | array | yes | |
|
|
|
|
|
|
@@ -339,6 +347,9 @@ When set to `true`, vertically centers the content on the page. Has no effect if
|
|
#### `hide-desktop-navigation`
|
|
#### `hide-desktop-navigation`
|
|
Whether to show the navigation links at the top of the page on desktop.
|
|
Whether to show the navigation links at the top of the page on desktop.
|
|
|
|
|
|
|
|
+#### `expand-mobile-page-navigation`
|
|
|
|
+Whether the mobile page navigation should be expanded by default.
|
|
|
|
+
|
|
#### `show-mobile-header`
|
|
#### `show-mobile-header`
|
|
Whether to show a header displaying the name of the page on mobile. The header purposefully has a lot of vertical whitespace in order to push the content down and make it easier to reach on tall devices.
|
|
Whether to show a header displaying the name of the page on mobile. The header purposefully has a lot of vertical whitespace in order to push the content down and make it easier to reach on tall devices.
|
|
|
|
|
|
@@ -525,10 +536,22 @@ An array of RSS/atom feeds. The title can optionally be changed.
|
|
| hide-categories | boolean | no | false | Only applicable for `detailed-list` style |
|
|
| hide-categories | boolean | no | false | Only applicable for `detailed-list` style |
|
|
| hide-description | boolean | no | false | Only applicable for `detailed-list` style |
|
|
| hide-description | boolean | no | false | Only applicable for `detailed-list` style |
|
|
| item-link-prefix | string | no | | |
|
|
| item-link-prefix | string | no | | |
|
|
|
|
+| headers | key (string) & value (string) | no | | |
|
|
|
|
|
|
###### `item-link-prefix`
|
|
###### `item-link-prefix`
|
|
If an RSS feed isn't returning item links with a base domain and Glance has failed to automatically detect the correct domain you can manually add a prefix to each link with this property.
|
|
If an RSS feed isn't returning item links with a base domain and Glance has failed to automatically detect the correct domain you can manually add a prefix to each link with this property.
|
|
|
|
|
|
|
|
+###### `headers`
|
|
|
|
+Optionally specify the headers that will be sent with the request. Example:
|
|
|
|
+
|
|
|
|
+```yaml
|
|
|
|
+- type: rss
|
|
|
|
+ feeds:
|
|
|
|
+ - url: https://domain.com/rss
|
|
|
|
+ headers:
|
|
|
|
+ User-Agent: Custom User Agent
|
|
|
|
+```
|
|
|
|
+
|
|
##### `limit`
|
|
##### `limit`
|
|
The maximum number of articles to show.
|
|
The maximum number of articles to show.
|
|
|
|
|
|
@@ -565,7 +588,15 @@ Preview:
|
|
| video-url-template | string | no | https://www.youtube.com/watch?v={VIDEO-ID} |
|
|
| video-url-template | string | no | https://www.youtube.com/watch?v={VIDEO-ID} |
|
|
|
|
|
|
##### `channels`
|
|
##### `channels`
|
|
-A list of channel IDs. One way of getting the ID of a channel is going to the channel's page and clicking on its description:
|
|
|
|
|
|
+A list of channel or playlist IDs. To specify a playlist, use the `playlist:` prefix like such:
|
|
|
|
+
|
|
|
|
+```yaml
|
|
|
|
+channels:
|
|
|
|
+ - playlist:PL8mG-RkN2uTyZZ00ObwZxxoG_nJbs3qec
|
|
|
|
+ - playlist:PL8mG-RkN2uTxTK4m_Vl2dYR9yE41kRdBg
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+One way of getting the ID of a channel is going to the channel's page and clicking on its description:
|
|
|
|
|
|

|
|

|
|
|
|
|
|
@@ -828,6 +859,7 @@ Preview:
|
|
| <kbd>Enter</kbd> | Perform search in the same tab | Search input is focused and not empty |
|
|
| <kbd>Enter</kbd> | Perform search in the same tab | Search input is focused and not empty |
|
|
| <kbd>Ctrl</kbd> + <kbd>Enter</kbd> | Perform search in a new tab | Search input is focused and not empty |
|
|
| <kbd>Ctrl</kbd> + <kbd>Enter</kbd> | Perform search in a new tab | Search input is focused and not empty |
|
|
| <kbd>Escape</kbd> | Leave focus | Search input is focused |
|
|
| <kbd>Escape</kbd> | Leave focus | Search input is focused |
|
|
|
|
+| <kbd>Up</kbd> | Insert the last search query since the page was opened into the input field | Search input is focused |
|
|
|
|
|
|
> [!TIP]
|
|
> [!TIP]
|
|
>
|
|
>
|
|
@@ -890,7 +922,7 @@ url: https://www.amazon.com/s?k={QUERY}
|
|
```
|
|
```
|
|
|
|
|
|
### Group
|
|
### Group
|
|
-Group multiple widgets into one using tabs. Widgets are defined using a `widgets` property exactly as you would on a page column. The only limitation is that you cannot place a group widget within a group widget.
|
|
|
|
|
|
+Group multiple widgets into one using tabs. Widgets are defined using a `widgets` property exactly as you would on a page column. The only limitation is that you cannot place a group widget or a split column widget within a group widget.
|
|
|
|
|
|
Example:
|
|
Example:
|
|
|
|
|
|
@@ -933,6 +965,67 @@ Example:
|
|
<<: *shared-properties
|
|
<<: *shared-properties
|
|
```
|
|
```
|
|
|
|
|
|
|
|
+### Split Column
|
|
|
|
+<!-- TODO: update -->
|
|
|
|
+Splits a full sized column in half, allowing you to place widgets side by side. This is converted to a single column on mobile devices or if not enough width is available. Widgets are defined using a `widgets` property exactly as you would on a page column.
|
|
|
|
+
|
|
|
|
+Example of a full page with an effective 4 column layout using two split column widgets inside of two full sized columns:
|
|
|
|
+
|
|
|
|
+<details>
|
|
|
|
+<summary>View config</summary>
|
|
|
|
+
|
|
|
|
+```yaml
|
|
|
|
+shared:
|
|
|
|
+ - &reddit-props
|
|
|
|
+ type: reddit
|
|
|
|
+ collapse-after: 4
|
|
|
|
+ show-thumbnails: true
|
|
|
|
+
|
|
|
|
+pages:
|
|
|
|
+ - name: Split Column Demo
|
|
|
|
+ width: wide
|
|
|
|
+ columns:
|
|
|
|
+ - size: full
|
|
|
|
+ widgets:
|
|
|
|
+ - type: split-column
|
|
|
|
+ widgets:
|
|
|
|
+ - subreddit: gaming
|
|
|
|
+ <<: *reddit-props
|
|
|
|
+ - subreddit: worldnews
|
|
|
|
+ <<: *reddit-props
|
|
|
|
+ - subreddit: lifeprotips
|
|
|
|
+ <<: *reddit-props
|
|
|
|
+ show-thumbnails: false
|
|
|
|
+ - subreddit: askreddit
|
|
|
|
+ <<: *reddit-props
|
|
|
|
+ show-thumbnails: false
|
|
|
|
+
|
|
|
|
+ - size: full
|
|
|
|
+ widgets:
|
|
|
|
+ - type: split-column
|
|
|
|
+ widgets:
|
|
|
|
+ - subreddit: todayilearned
|
|
|
|
+ <<: *reddit-props
|
|
|
|
+ collapse-after: 2
|
|
|
|
+ - subreddit: aww
|
|
|
|
+ <<: *reddit-props
|
|
|
|
+ - subreddit: science
|
|
|
|
+ <<: *reddit-props
|
|
|
|
+ - subreddit: showerthoughts
|
|
|
|
+ <<: *reddit-props
|
|
|
|
+ show-thumbnails: false
|
|
|
|
+```
|
|
|
|
+</details>
|
|
|
|
+
|
|
|
|
+<br>
|
|
|
|
+
|
|
|
|
+Preview:
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### Custom API
|
|
|
|
+<!-- TODO -->
|
|
|
|
+
|
|
### Extension
|
|
### Extension
|
|
Display a widget provided by an external source (3rd party). If you want to learn more about developing extensions, checkout the [extensions documentation](extensions.md) (WIP).
|
|
Display a widget provided by an external source (3rd party). If you want to learn more about developing extensions, checkout the [extensions documentation](extensions.md) (WIP).
|
|
|
|
|
|
@@ -948,11 +1041,15 @@ Display a widget provided by an external source (3rd party). If you want to lear
|
|
| Name | Type | Required | Default |
|
|
| Name | Type | Required | Default |
|
|
| ---- | ---- | -------- | ------- |
|
|
| ---- | ---- | -------- | ------- |
|
|
| url | string | yes | |
|
|
| url | string | yes | |
|
|
|
|
+| fallback-content-type | string | no | |
|
|
| allow-potentially-dangerous-html | boolean | no | false |
|
|
| allow-potentially-dangerous-html | boolean | no | false |
|
|
| parameters | key & value | no | |
|
|
| parameters | key & value | no | |
|
|
|
|
|
|
##### `url`
|
|
##### `url`
|
|
-The URL of the extension.
|
|
|
|
|
|
+The URL of the extension. **Note that the query gets stripped from this URL and the one defined by `parameters` gets used instead.**
|
|
|
|
+
|
|
|
|
+##### `fallback-content-type`
|
|
|
|
+Optionally specify the fallback content type of the extension if the URL does not return a valid `Widget-Content-Type` header. Currently the only supported value for this property is `html`.
|
|
|
|
|
|
##### `allow-potentially-dangerous-html`
|
|
##### `allow-potentially-dangerous-html`
|
|
Whether to allow the extension to display HTML.
|
|
Whether to allow the extension to display HTML.
|
|
@@ -1065,11 +1162,19 @@ You can hover over the "ERROR" text to view more information.
|
|
| Name | Type | Required | Default |
|
|
| Name | Type | Required | Default |
|
|
| ---- | ---- | -------- | ------- |
|
|
| ---- | ---- | -------- | ------- |
|
|
| sites | array | yes | |
|
|
| sites | array | yes | |
|
|
|
|
+| style | string | no | |
|
|
| show-failing-only | boolean | no | false |
|
|
| show-failing-only | boolean | no | false |
|
|
|
|
|
|
##### `show-failing-only`
|
|
##### `show-failing-only`
|
|
Shows only a list of failing sites when set to `true`.
|
|
Shows only a list of failing sites when set to `true`.
|
|
|
|
|
|
|
|
+##### `style`
|
|
|
|
+Used to change the appearance of the widget. Possible values are `compact`.
|
|
|
|
+
|
|
|
|
+Preview of `compact`:
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
##### `sites`
|
|
##### `sites`
|
|
|
|
|
|
Properties for each site:
|
|
Properties for each site:
|
|
@@ -1082,6 +1187,7 @@ Properties for each site:
|
|
| icon | string | no | |
|
|
| icon | string | no | |
|
|
| allow-insecure | boolean | no | false |
|
|
| allow-insecure | boolean | no | false |
|
|
| same-tab | boolean | no | false |
|
|
| same-tab | boolean | no | false |
|
|
|
|
+| alt-status-codes | array | no | |
|
|
|
|
|
|
`title`
|
|
`title`
|
|
|
|
|
|
@@ -1097,7 +1203,7 @@ The URL which will be requested and its response will determine the status of th
|
|
|
|
|
|
`icon`
|
|
`icon`
|
|
|
|
|
|
-Optional URL to an image which will be used as the icon for the site. Can be an external URL or internal via [server configured assets](#assets-path). You can also directly use [Simple Icons](https://simpleicons.org/) via a `si:` prefix:
|
|
|
|
|
|
+Optional URL to an image which will be used as the icon for the site. Can be an external URL or internal via [server configured assets](#assets-path). You can also directly use [Simple Icons](https://simpleicons.org/) via a `si:` prefix or [Dashboard Icons](https://github.com/walkxcode/dashboard-icons) via a `di:` prefix:
|
|
|
|
|
|
```yaml
|
|
```yaml
|
|
icon: si:jellyfin
|
|
icon: si:jellyfin
|
|
@@ -1107,7 +1213,7 @@ icon: si:adguard
|
|
|
|
|
|
> [!WARNING]
|
|
> [!WARNING]
|
|
>
|
|
>
|
|
-> Simple Icons are loaded externally and are hosted on `cdnjs.cloudflare.com`, if you do not wish to depend on a 3rd party you are free to download the icons individually and host them locally.
|
|
|
|
|
|
+> Simple Icons are loaded externally and are hosted on `cdn.jsdelivr.net`, if you do not wish to depend on a 3rd party you are free to download the icons individually and host them locally.
|
|
|
|
|
|
`allow-insecure`
|
|
`allow-insecure`
|
|
|
|
|
|
@@ -1117,6 +1223,15 @@ Whether to ignore invalid/self-signed certificates.
|
|
|
|
|
|
Whether to open the link in the same or a new tab.
|
|
Whether to open the link in the same or a new tab.
|
|
|
|
|
|
|
|
+`alt-status-codes`
|
|
|
|
+
|
|
|
|
+Status codes other than 200 that you want to return "OK".
|
|
|
|
+
|
|
|
|
+```yaml
|
|
|
|
+alt-status-codes:
|
|
|
|
+ - 403
|
|
|
|
+```
|
|
|
|
+
|
|
### Releases
|
|
### Releases
|
|
Display a list of latest releases for specific repositories on Github, GitLab, Codeberg or Docker Hub.
|
|
Display a list of latest releases for specific repositories on Github, GitLab, Codeberg or Docker Hub.
|
|
|
|
|
|
@@ -1238,15 +1353,21 @@ Preview:
|
|
| Name | Type | Required | Default |
|
|
| Name | Type | Required | Default |
|
|
| ---- | ---- | -------- | ------- |
|
|
| ---- | ---- | -------- | ------- |
|
|
| service | string | no | pihole |
|
|
| service | string | no | pihole |
|
|
|
|
+| allow-insecure | bool | no | false |
|
|
| url | string | yes | |
|
|
| url | string | yes | |
|
|
| username | string | when service is `adguard` | |
|
|
| username | string | when service is `adguard` | |
|
|
| password | string | when service is `adguard` | |
|
|
| password | string | when service is `adguard` | |
|
|
| token | string | when service is `pihole` | |
|
|
| token | string | when service is `pihole` | |
|
|
|
|
+| hide-graph | bool | no | false |
|
|
|
|
+| hide-top-domains | bool | no | false |
|
|
| hour-format | string | no | 12h |
|
|
| hour-format | string | no | 12h |
|
|
|
|
|
|
##### `service`
|
|
##### `service`
|
|
Either `adguard` or `pihole`.
|
|
Either `adguard` or `pihole`.
|
|
|
|
|
|
|
|
+##### `allow-insecure`
|
|
|
|
+Whether to allow invalid/self-signed certificates when making the request to the service.
|
|
|
|
+
|
|
##### `url`
|
|
##### `url`
|
|
The base URL of the service. Can be specified from an environment variable using the syntax `${VARIABLE_NAME}`.
|
|
The base URL of the service. Can be specified from an environment variable using the syntax `${VARIABLE_NAME}`.
|
|
|
|
|
|
@@ -1259,6 +1380,12 @@ Only required when using AdGuard Home. The password used to log into the admin d
|
|
##### `token`
|
|
##### `token`
|
|
Only required when using Pi-hole. The API token which can be found in `Settings -> API -> Show API token`. Can be specified from an environment variable using the syntax `${VARIABLE_NAME}`.
|
|
Only required when using Pi-hole. The API token which can be found in `Settings -> API -> Show API token`. Can be specified from an environment variable using the syntax `${VARIABLE_NAME}`.
|
|
|
|
|
|
|
|
+##### `hide-graph`
|
|
|
|
+Whether to hide the graph showing the number of queries over time.
|
|
|
|
+
|
|
|
|
+##### `hide-top-domains`
|
|
|
|
+Whether to hide the list of top blocked domains.
|
|
|
|
+
|
|
##### `hour-format`
|
|
##### `hour-format`
|
|
Whether to display the relative time in the graph in `12h` or `24h` format.
|
|
Whether to display the relative time in the graph in `12h` or `24h` format.
|
|
|
|
|
|
@@ -1363,6 +1490,12 @@ An array of groups which can optionally have a title and a custom color.
|
|
| title | string | no | |
|
|
| title | string | no | |
|
|
| color | HSL | no | the primary color of the theme |
|
|
| color | HSL | no | the primary color of the theme |
|
|
| links | array | yes | |
|
|
| links | array | yes | |
|
|
|
|
+| same-tab | boolean | no | false |
|
|
|
|
+| hide-arrow | boolean | no | false |
|
|
|
|
+
|
|
|
|
+> [!TIP]
|
|
|
|
+>
|
|
|
|
+> You can set `same-tab` and `hide-arrow` either on the group which will apply them to all links in that group, or on each individual link which will override the value set on the group.
|
|
|
|
|
|
###### Properties for each link
|
|
###### Properties for each link
|
|
| Name | Type | Required | Default |
|
|
| Name | Type | Required | Default |
|
|
@@ -1375,7 +1508,7 @@ An array of groups which can optionally have a title and a custom color.
|
|
|
|
|
|
`icon`
|
|
`icon`
|
|
|
|
|
|
-URL pointing to an image. You can also directly use [Simple Icons](https://simpleicons.org/) via a `si:` prefix:
|
|
|
|
|
|
+URL pointing to an image. You can also directly use [Simple Icons](https://simpleicons.org/) via a `si:` prefix or [Dashboard Icons](https://github.com/walkxcode/dashboard-icons) via a `di:` prefix:
|
|
|
|
|
|
```yaml
|
|
```yaml
|
|
icon: si:gmail
|
|
icon: si:gmail
|
|
@@ -1385,7 +1518,7 @@ icon: si:reddit
|
|
|
|
|
|
> [!WARNING]
|
|
> [!WARNING]
|
|
>
|
|
>
|
|
-> Simple Icons are loaded externally and are hosted on `cdnjs.cloudflare.com`, if you do not wish to depend on a 3rd party you are free to download the icons individually and host them locally.
|
|
|
|
|
|
+> Simple Icons are loaded externally and are hosted on `cdn.jsdelivr.net`, if you do not wish to depend on a 3rd party you are free to download the icons individually and host them locally.
|
|
|
|
|
|
`same-tab`
|
|
`same-tab`
|
|
|
|
|
|
@@ -1494,15 +1627,25 @@ Example:
|
|
|
|
|
|
```yaml
|
|
```yaml
|
|
- type: calendar
|
|
- type: calendar
|
|
|
|
+ start-sunday: false
|
|
```
|
|
```
|
|
|
|
|
|
Preview:
|
|
Preview:
|
|
|
|
|
|

|
|

|
|
|
|
|
|
|
|
+#### Properties
|
|
|
|
+
|
|
|
|
+| Name | Type | Required | Default |
|
|
|
|
+| ---- | ---- | -------- | ------- |
|
|
|
|
+| start-sunday | boolean | no | false |
|
|
|
|
+
|
|
|
|
+##### `start-sunday`
|
|
|
|
+Whether calendar weeks start on Sunday or Monday.
|
|
|
|
+
|
|
> [!NOTE]
|
|
> [!NOTE]
|
|
>
|
|
>
|
|
-> There is currently no customizability available for the calendar. Extra features will be added in the future.
|
|
|
|
|
|
+> There is currently little customizability available for the calendar. Extra features will be added in the future.
|
|
|
|
|
|
### Markets
|
|
### Markets
|
|
Display a list of markets, their current value, change for the day and a small 21d chart. Data is taken from Yahoo Finance.
|
|
Display a list of markets, their current value, change for the day and a small 21d chart. Data is taken from Yahoo Finance.
|
|
@@ -1539,7 +1682,7 @@ Preview:
|
|
An array of markets for which to display information about.
|
|
An array of markets for which to display information about.
|
|
|
|
|
|
##### `sort-by`
|
|
##### `sort-by`
|
|
-By default the markets are displayed in the order they were defined. You can customize their ordering by setting the `sort-by` property to `absolute-change` for descending order based on the stock's absolute price change.
|
|
|
|
|
|
+By default the markets are displayed in the order they were defined. You can customize their ordering by setting the `sort-by` property to `change` for descending order based on the stock's percentage change (e.g. 1% would be sorted higher than -1%) or `absolute-change` for descending order based on the stock's absolute price change (e.g. -1% would be sorted higher than +0.5%).
|
|
|
|
|
|
###### Properties for each stock
|
|
###### Properties for each stock
|
|
| Name | Type | Required |
|
|
| Name | Type | Required |
|
|
@@ -1674,3 +1817,75 @@ Example:
|
|
```
|
|
```
|
|
|
|
|
|
Note the use of `|` after `source:`, this allows you to insert a multi-line string.
|
|
Note the use of `|` after `source:`, this allows you to insert a multi-line string.
|
|
|
|
+
|
|
|
|
+### Docker Containers
|
|
|
|
+<!-- TODO: update -->
|
|
|
|
+The Docker widget allows you to monitor your Docker containers.
|
|
|
|
+To enable this feature, ensure that your setup provides access to the **docker.sock** file (also you may use a TCP connection).
|
|
|
|
+
|
|
|
|
+Add the following to your `docker-compose` or `docker run` command to enable the Docker widget:
|
|
|
|
+
|
|
|
|
+**Docker Example:**
|
|
|
|
+```bash
|
|
|
|
+docker run -d -p 8080:8080 \
|
|
|
|
+ -v ./glance.yml:/app/glance.yml \
|
|
|
|
+ -v /etc/timezone:/etc/timezone:ro \
|
|
|
|
+ -v /etc/localtime:/etc/localtime:ro \
|
|
|
|
+ -v /var/run/docker.sock:/var/run/docker.sock:ro \
|
|
|
|
+ glanceapp/glance
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+**Docker Compose Example:**
|
|
|
|
+```yaml
|
|
|
|
+services:
|
|
|
|
+ glance:
|
|
|
|
+ image: glanceapp/glance
|
|
|
|
+ volumes:
|
|
|
|
+ - ./glance.yml:/app/glance.yml
|
|
|
|
+ - /etc/timezone:/etc/timezone:ro
|
|
|
|
+ - /etc/localtime:/etc/localtime:ro
|
|
|
|
+ - /var/run/docker.sock:/var/run/docker.sock:ro
|
|
|
|
+ ports:
|
|
|
|
+ - 8080:8080
|
|
|
|
+ restart: unless-stopped
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### Configuration
|
|
|
|
+To integrate the Docker widget into your dashboard, include the following snippet in your `glance.yml` file:
|
|
|
|
+
|
|
|
|
+```yaml
|
|
|
|
+- type: docker
|
|
|
|
+ host-url: tcp://localhost:2375
|
|
|
|
+ cache: 1m
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### Properties
|
|
|
|
+
|
|
|
|
+| Name | Type | Required | Default |
|
|
|
|
+| ---- | ---- | -------- | ------- |
|
|
|
|
+| host-url | string | no | `unix:///var/run/docker.sock` |
|
|
|
|
+
|
|
|
|
+#### Leveraging Container Labels
|
|
|
|
+You can use container labels to control visibility, URLs, icons, and titles within the Docker widget. Add the following labels to your container configuration for enhanced customization:
|
|
|
|
+
|
|
|
|
+```yaml
|
|
|
|
+labels:
|
|
|
|
+ - "glance.enable=true" # Enable or disable visibility of the container (default: true)
|
|
|
|
+ - "glance.title=Glance" # Optional friendly name (defaults to container name)
|
|
|
|
+ - "glance.url=https://app.example.com" # Optional URL associated with the container
|
|
|
|
+ - "glance.iconUrl=si:docker" # Optional URL to an image which will be used as the icon for the site
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+**Default Values:**
|
|
|
|
+
|
|
|
|
+| Name | Default |
|
|
|
|
+|----------------|------------|
|
|
|
|
+| glance.enable | true |
|
|
|
|
+| glance.title | Container name |
|
|
|
|
+| glance.url | (none) |
|
|
|
|
+| glance.iconUrl | si:docker |
|
|
|
|
+
|
|
|
|
+Preview:
|
|
|
|
+
|
|
|
|
+
|