]>
Commit | Line | Data |
---|---|---|
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 | ``` |