121 lines
9.2 KiB
Markdown
121 lines
9.2 KiB
Markdown
#### Config.ini Readme
|
|
|
|
##### Settings
|
|
```ini
|
|
[Settings]
|
|
theme = dark
|
|
accent = orange
|
|
background = static/images/backgrounds/background.png
|
|
```
|
|
|
|
| Variable | Required | Description | Options |
|
|
|------------------------|----------|----------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
| [Settings] | Yes | Config section name. | [Settings] |
|
|
| theme | Yes | UI theme. | light, dark |
|
|
| accent | Yes | UI accent color | orange, red, pink, purple, deepPurple, indigo, blue, lightBlue,cyan, teal, green, lightGreen, lime, yellow, amber, deepOrange, brown, grey, blueGrey |
|
|
| background | Yes | Background image for the UI | /static/images/backgrounds/yourpicture.png, external link to image, None, random |
|
|
| roles | No | User roles for access groups. | comma separated string, if not defined, this is set to 'admin,user,public_user'. Note: admin, user, public_user roles are required and will be added automatically if omitted. |
|
|
| home_access_groups | No | Define which access groups can access the /home page | Groups defined in your config. If not defined, default is admin_only |
|
|
| settings_access_groups | No | Define which access groups can access the /settings page | Groups defined in your config. If not defined, default is admin_only |
|
|
|
|
##### Apps
|
|
```ini
|
|
[App Name]
|
|
prefix = https://
|
|
url = your-website.com
|
|
icon = static/images/apps/default.png
|
|
sidebar_icon = static/images/apps/default.png
|
|
description = Example description
|
|
open_in = iframe
|
|
data_sources = None
|
|
```
|
|
|
|
| Variable | Required | Description | Options |
|
|
|--------------|----------|-------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
|
| [App Name] | Yes | The name of your app. | [App Name] |
|
|
| prefix | Yes | The prefix for the app's url. | web prefix, e.g. http:// or https:// |
|
|
| url | Yes | The url for your app. | web url, e.g. myapp.com |
|
|
| open_in | Yes | open the app in the current tab, an iframe or a new tab | iframe, new_tab, this_tab |
|
|
| icon | No | Icon for the dashboard. | /static/images/icons/yourpicture.png, external link to image |
|
|
| sidebar_icon | No | Icon for the sidenav. | /static/images/icons/yourpicture.png, external link to image |
|
|
| description | No | A short description for the app. | string |
|
|
| data_sources | No | Data sources to be included on the app's card.*Note: you must have a data source set up in the config above this application entry. | comma separated string |
|
|
|
|
##### Access Groups
|
|
```ini
|
|
[public]
|
|
roles = admin, user, public_user
|
|
```
|
|
|
|
| Variable | Required | Description | Options |
|
|
|--------------|----------|--------------------------------------------------------------------------------|----------------------------------------------------------------------------------|
|
|
| [Group Name] | Yes | Name for access group. | [Group Name] |
|
|
| roles | Yes | A comma separated list of user roles allowed to view apps in this access group | Roles defined in your config. If not defined, defaults are admin and public_user |
|
|
|
|
#### Data Source Platforms
|
|
DashMachine includes several different 'platforms' for displaying data on your dash applications.
|
|
Platforms are essentially plugins. All data source config entries require the `plaform` variable,
|
|
which tells DashMachine which platform file in the platform folder to load. **Note:** you are able to
|
|
load your own plaform files by placing them in the platform folder and referencing them in the config.
|
|
However currently they will be deleted if you update the application, if you would like to make them
|
|
permanent, submit a pull request for it to be added by default!
|
|
|
|
> To add a data source to your app, add a data source config entry from one of the samples below
|
|
**above** the application entry in config.ini, then add the following to your app config entry:
|
|
`data_source = variable_name`
|
|
|
|
##### ping
|
|
```ini
|
|
[variable_name]
|
|
platform = ping
|
|
resource = 192.168.1.1
|
|
```
|
|
> **Returns:** a right-aligned colored bullet point on the app card.
|
|
|
|
| Variable | Required | Description | Options |
|
|
|-----------------|----------|-----------------------------------------------------------------|-------------------|
|
|
| [variable_name] | Yes | Name for the data source. | [variable_name] |
|
|
| plaform | Yes | Name of the platform. | rest |
|
|
| resource | Yes | Url of whatever you want to ping | url |
|
|
|
|
##### rest
|
|
```ini
|
|
[variable_name]
|
|
platform = rest
|
|
resource = https://your-website.com/api
|
|
value_template = {{value}}
|
|
method = post
|
|
authentication = basic
|
|
username = my_username
|
|
password = my_password
|
|
payload = {"var1": "hi", "var2": 1}
|
|
```
|
|
> **Returns:** `value_template` as rendered string
|
|
|
|
| Variable | Required | Description | Options |
|
|
|-----------------|----------|-----------------------------------------------------------------|-------------------|
|
|
| [variable_name] | Yes | Name for the data source. | [variable_name] |
|
|
| plaform | Yes | Name of the platform. | rest |
|
|
| resource | Yes | Url of rest api resource. | url |
|
|
| value_template | Yes | Jinja template for how the returned data from api is displayed. | jinja template |
|
|
| method | No | Method for the api call, default is GET | GET,POST |
|
|
| authentication | No | Authentication for the api call, default is None | None,basic,digest |
|
|
| username | No | Username to use for auth. | string |
|
|
| password | No | Password to use for auth. | string |
|
|
| payload | No | Payload for post request. | json |
|
|
|
|
> **Working example:**
|
|
>```ini
|
|
>[test]
|
|
>platform = rest
|
|
>resource = https://pokeapi.co/api/v2/pokemon
|
|
>value_template = Pokemon: {{value['count']}}
|
|
>
|
|
>[Pokemon]
|
|
>prefix = https://
|
|
>url = pokemon.com
|
|
>icon = static/images/apps/default.png
|
|
>description = Data sources example
|
|
>open_in = this_tab
|
|
>data_sources = test
|
|
>``` |