diff options
Diffstat (limited to 'docs/custom_services.md')
-rw-r--r-- | docs/custom_services.md | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/docs/custom_services.md b/docs/custom_services.md new file mode 100644 index 0000000..cb68e1d --- /dev/null +++ b/docs/custom_services.md | |||
@@ -0,0 +1,143 @@ | |||
1 | # Custom Services | ||
2 | |||
3 | Some service can use a specific a component that provides some extra features by adding a `type` key to the service yaml | ||
4 | configuration and, where applicable, an apikey. Note that config.yml is exposed at /assets/config.yml via HTTP and any | ||
5 | apikey included in the configuration file is exposed to anyone who can access the homer instance. Only include an apikey | ||
6 | if your homer instance is secured behind some form of authentication or access restriction. | ||
7 | |||
8 | Available services are in `src/components/`. Here is an overview of all custom services that are available | ||
9 | within Homer. | ||
10 | |||
11 | If you experiencing any issue, please have a look to the [troubleshooting](troubleshooting.md) page. | ||
12 | |||
13 | |||
14 | ## Common options | ||
15 | |||
16 | ```yaml | ||
17 | - name: "My Service" | ||
18 | logo: "assets/tools/sample.png" | ||
19 | url: "http://my-service-link" | ||
20 | endpoint: "http://my-service-endpoint" # Optional: alternative base URL used to fetch service data is necessary. | ||
21 | useCredentials: false # Optional: Override global proxy.useCredentials configuration. | ||
22 | type: "<type>" | ||
23 | ``` | ||
24 | |||
25 | ## PiHole | ||
26 | |||
27 | Using the PiHole service you can display info about your local PiHole instance right on your Homer dashboard. | ||
28 | |||
29 | The following configuration is available for the PiHole service. | ||
30 | |||
31 | ```yaml | ||
32 | - name: "Pi-hole" | ||
33 | logo: "assets/tools/sample.png" | ||
34 | # subtitle: "Network-wide Ad Blocking" # optional, if no subtitle is defined, PiHole statistics will be shown | ||
35 | url: "http://192.168.0.151/admin" | ||
36 | type: "PiHole" | ||
37 | ``` | ||
38 | |||
39 | ## OpenWeatherMap | ||
40 | |||
41 | Using the OpenWeatherMap service you can display weather information about a given location. | ||
42 | The following configuration is available for the OpenWeatherMap service: | ||
43 | |||
44 | ```yaml | ||
45 | - name: "Weather" | ||
46 | location: "Amsterdam" # your location. | ||
47 | locationId: "2759794" # Optional: Specify OpenWeatherMap city ID for better accuracy | ||
48 | apikey: "<---insert-api-key-here--->" # insert your own API key here. Request one from https://openweathermap.org/api. | ||
49 | units: "metric" # units to display temperature. Can be one of: metric, imperial, kelvin. Defaults to kelvin. | ||
50 | background: "square" # choose which type of background you want behind the image. Can be one of: square, cicle, none. Defaults to none. | ||
51 | type: "OpenWeather" | ||
52 | ``` | ||
53 | |||
54 | **Remarks:** | ||
55 | If for some reason your city can't be found by entering the name in the `location` property, you could also try to configure the OWM city ID in the `locationId` property. To retrieve your specific City ID, go to the [OWM website](https://openweathermap.org), search for your city and retrieve the ID from the URL (for example, the City ID of Amsterdam is 2759794). | ||
56 | |||
57 | ## Medusa | ||
58 | |||
59 | This service displays News (grey), Warning (orange) or Error (red) notifications bubbles from the Medusa application. | ||
60 | Two lines are needed in the config.yml : | ||
61 | |||
62 | ```yaml | ||
63 | type: "Medusa" | ||
64 | apikey: "01234deb70424befb1f4ef6a23456789" | ||
65 | ``` | ||
66 | |||
67 | The url must be the root url of Medusa application. | ||
68 | The Medusa API key can be found in General configuration > Interface. It is needed to access Medusa API. | ||
69 | |||
70 | ## Lidarr, Prowlarr, Sonarr and Radarr | ||
71 | |||
72 | This service displays Activity (blue), Warning (orange) or Error (red) notifications bubbles from the Lidarr, Radarr or Sonarr application. | ||
73 | Two lines are needed in the config.yml : | ||
74 | |||
75 | ```yaml | ||
76 | type: "Lidarr", "Prowlarr", "Radarr" or "Sonarr" | ||
77 | apikey: "01234deb70424befb1f4ef6a23456789" | ||
78 | ``` | ||
79 | |||
80 | The url must be the root url of Lidarr, Prowlarr, Radarr or Sonarr application. | ||
81 | The Lidarr, Prowlarr, Radarr or Sonarr API key can be found in Settings > General. It is needed to access the API. | ||
82 | If you are using an older version of Radarr or Sonarr which don't support the new V3 api endpoints, add the following line to your service config "legacyApi: true", example: | ||
83 | |||
84 | ```yaml | ||
85 | - name: "Radarr" | ||
86 | type: "Radarr" | ||
87 | url: "http://localhost:7878/" | ||
88 | apikey: "MY-SUPER-SECRET-API-KEY" | ||
89 | target: "_blank" | ||
90 | legacyApi: true | ||
91 | ``` | ||
92 | |||
93 | ## PaperlessNG | ||
94 | |||
95 | This service displays total number of documents stored. Two lines are required: | ||
96 | |||
97 | ```yaml | ||
98 | type: "PaperlessNG" | ||
99 | apikey: "0123456789abcdef123456789abcdef" | ||
100 | ``` | ||
101 | |||
102 | API key can be generated in Settings > Administration > Auth Tokens | ||
103 | |||
104 | ## Ping | ||
105 | |||
106 | For Ping you need to set the type to Ping and provide a url. | ||
107 | |||
108 | ```yaml | ||
109 | - name: "Awesome app" | ||
110 | type: Ping | ||
111 | logo: "assets/tools/sample.png" | ||
112 | subtitle: "Bookmark example" | ||
113 | tag: "app" | ||
114 | url: "https://www.reddit.com/r/selfhosted/" | ||
115 | ``` | ||
116 | |||
117 | ## Prometheus | ||
118 | |||
119 | For Prometheus you need to set the type to Prometheus and provide a url. | ||
120 | |||
121 | ```yaml | ||
122 | - name: "Prometheus" | ||
123 | type: Prometheus | ||
124 | logo: "assets/tools/sample.png" | ||
125 | url: "http://192.168.0.151/" | ||
126 | # subtitle: "Monitor data server" | ||
127 | ``` | ||
128 | |||
129 | ## Portainer | ||
130 | |||
131 | This service displays info about the total number of containers managed by your Portainer instance. | ||
132 | In order to use it, you must be using Portainer version 1.11 or later. Generate an access token from the UI and pass | ||
133 | it to the apikey field. | ||
134 | |||
135 | See https://docs.portainer.io/v/ce-2.11/user/account-settings#access-tokens | ||
136 | |||
137 | ```yaml | ||
138 | - name: "Portainer" | ||
139 | logo: "assets/tools/sample.png" | ||
140 | url: "http://192.168.0.151/" | ||
141 | type: "Portainer" | ||
142 | apikey: "MY-SUPER-SECRET-API-KEY" | ||
143 | ``` | ||