aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/configuration.md20
-rw-r--r--docs/customservices.md53
-rw-r--r--docs/tips-and-tricks.md58
3 files changed, 130 insertions, 1 deletions
diff --git a/docs/configuration.md b/docs/configuration.md
index a43d7f1..a472b41 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -66,6 +66,17 @@ colors:
66# Optional message 66# Optional message
67message: 67message:
68 # url: "https://<my-api-endpoint>" # Can fetch information from an endpoint to override value below. 68 # url: "https://<my-api-endpoint>" # Can fetch information from an endpoint to override value below.
69 # mapping: # allows to map fields from the remote format to the one expected by Homer
70 # title: 'id' # use value from field 'id' as title
71 # content: 'value' # value from field 'value' as content
72 # refreshInterval: 10000 # Optional: time interval to refresh message
73 #
74 # Real example using chucknorris.io for showing Chuck Norris facts as messages:
75 # url: https://api.chucknorris.io/jokes/random
76 # mapping:
77 # title: 'id'
78 # content: 'value'
79 # refreshInterval: 10000
69 style: "is-warning" 80 style: "is-warning"
70 title: "Optional message!" 81 title: "Optional message!"
71 icon: "fa fa-exclamation-triangle" 82 icon: "fa fa-exclamation-triangle"
@@ -81,6 +92,11 @@ links:
81 - name: "link 2" 92 - name: "link 2"
82 icon: "fas fa-book" 93 icon: "fas fa-book"
83 url: "https://github.com/bastienwirtz/homer" 94 url: "https://github.com/bastienwirtz/homer"
95 # this will link to a second homer page that will load config from page2.yml and keep default config values as in config.yml file
96 # see url field and assets/page.yml used in this example:
97 - name: "Second Page"
98 icon: "fas fa-file-alt"
99 url: "#page2"
84 100
85# Services 101# Services
86# First level array represents a group. 102# First level array represents a group.
@@ -88,6 +104,8 @@ links:
88services: 104services:
89 - name: "Application" 105 - name: "Application"
90 icon: "fas fa-code-branch" 106 icon: "fas fa-code-branch"
107 # A path to an image can also be provided. Note that icon take precedence if both icon and logo are set.
108 # logo: "path/to/logo"
91 items: 109 items:
92 - name: "Awesome app" 110 - name: "Awesome app"
93 logo: "assets/tools/sample.png" 111 logo: "assets/tools/sample.png"
@@ -118,7 +136,7 @@ services:
118 # background: red # optional color for card to set color directly without custom stylesheet 136 # background: red # optional color for card to set color directly without custom stylesheet
119``` 137```
120 138
121If you choose to fetch message information from an endpoint, the output format should be: 139If you choose to fetch message information from an endpoint, the output format should be as follows (or you can [custom map fields as shown in tips-and-tricks](./tips-and-tricks.md#mapping-fields)):
122 140
123```json 141```json
124{ 142{
diff --git a/docs/customservices.md b/docs/customservices.md
new file mode 100644
index 0000000..43f45f4
--- /dev/null
+++ b/docs/customservices.md
@@ -0,0 +1,53 @@
1# Custom Services
2
3Some service can use a specific a component that provides some extra features by adding a `type` key to the service yaml
4configuration. Available services are in `src/components/`. Here is an overview of all custom services that are available
5within Homer.
6
7## PiHole
8
9Using the PiHole service you can display info about your local PiHole instance right on your Homer dashboard.
10
11The following configuration is available for the PiHole service.
12
13```
14 items:
15 - name: "Pi-hole"
16 logo: "assets/tools/sample.png"
17 # subtitle: "Network-wide Ad Blocking" # optional, if no subtitle is defined, PiHole statistics will be shown
18 url: "http://192.168.0.151/admin"
19 type: "PiHole"
20```
21
22## Medusa
23
24This service displays News (grey), Warning (orange) or Error (red) notifications bubbles from the Medusa application.
25Two lines are needed in the config.yml :
26```
27type: "Medusa"
28apikey: "01234deb70424befb1f4ef6a23456789"
29```
30The url must be the root url of Medusa application.
31The Medusa API key can be found in General configuration > Interface. It is needed to access Medusa API.
32
33
34## Sonarr/Radarr
35
36This service displays Activity (blue), Warning (orange) or Error (red) notifications bubbles from the Radarr/Sonarr application.
37Two lines are needed in the config.yml :
38```
39type: "Radarr" or "Sonarr"
40apikey: "01234deb70424befb1f4ef6a23456789"
41```
42The url must be the root url of Radarr/Sonarr application.
43The Radarr/Sonarr API key can be found in Settings > General. It is needed to access the API.
44
45
46## PaperlessNG
47
48For Paperless you need an API-Key which you have to store at the item in the field `apikey`.
49
50
51## Ping
52
53For Paperless you need an API-Key which you have to store at the item in the field `apikey`.
diff --git a/docs/tips-and-tricks.md b/docs/tips-and-tricks.md
index 2719fc5..94167fb 100644
--- a/docs/tips-and-tricks.md
+++ b/docs/tips-and-tricks.md
@@ -113,6 +113,64 @@ docker create \
113 113
114 114
115## Get the news headlines in Homer 115## Get the news headlines in Homer
116
117### Mapping Fields
118Most times, the url you're getting headlines from follows a different schema than the one expected by Homer.
119
120For example, if you would like to show jokes from ChuckNorris.io, you'll find that the url https://api.chucknorris.io/jokes/random is giving you info like this:
121
122```json
123{
124 "categories": [],
125 "created_at": "2020-01-05 13:42:22.089095",
126 "icon_url": "https://assets.chucknorris.host/img/avatar/chuck-norris.png",
127 "id": "MR2-BnMBR667xSpQBIleUg",
128 "updated_at": "2020-01-05 13:42:22.089095",
129 "url": "https://api.chucknorris.io/jokes/MR2-BnMBR667xSpQBIleUg",
130 "value": "Chuck Norris can quitely sneak up on himself"
131}
132```
133
134but... you need that info to be transformed to something like this:
135
136```json
137{
138 "title": "MR2-BnMBR667xSpQBIleUg",
139 "content": "Chuck Norris can quitely sneak up on himself"
140}
141```
142
143Now, you can do that using the `mapping` field in your `message` configuration. This example would be something like this:
144
145```yml
146message:
147 url: https://api.chucknorris.io/jokes/random
148 mapping:
149 title: 'id'
150 content: 'value'
151```
152
153As you would see, using the ID as a title doesn't seem nice, that's why when a field is empty it would keep the default values, like this:
154
155```yml
156message:
157 url: https://api.chucknorris.io/jokes/random
158 mapping:
159 content: 'value'
160 title: "Chuck Norris Facts!"
161```
162
163and even an error message in case the `url` didn't respond or threw an error:
164
165```yml
166message:
167 url: https://api.chucknorris.io/jokes/random
168 mapping:
169 content: 'value'
170 title: "Chuck Norris Facts!"
171 content: "Message could not be loaded"
172```
173
116#### `by @JamiePhonic` 174#### `by @JamiePhonic`
117 175
118Homer allows you to set a "message" that will appear at the top of the page, however, you can also supply a `url:`. 176Homer allows you to set a "message" that will appear at the top of the page, however, you can also supply a `url:`.