2021-01-13 21:25:07 +01:00
# Custom Services
2021-01-13 21:22:35 +01:00
2021-07-14 15:48:57 +02:00
Some service can use a specific a component that provides some extra features by adding a `type` key to the service yaml
2021-09-25 12:12:22 +02:00
configuration. Available services are in `src/components/` . Here is an overview of all custom services that are available
2021-07-14 15:48:57 +02:00
within Homer.
2021-01-13 21:22:35 +01:00
2021-09-25 12:13:04 +02:00
If you experiencing any issue, please have a look to the [troubleshooting ](troubleshooting.md ) page.
2021-10-11 18:38:13 +02:00
2021-10-10 10:47:23 +02:00
## Common options
```yaml
2021-10-11 18:38:13 +02:00
- name: "My Service"
logo: "assets/tools/sample.png"
url: "http://my-service-link"
endpoint: "http://my-service-endpoint" # Optional: alternative base URL used to fetch service data is necessary.
2021-10-10 20:57:04 +02:00
useCredentials: false # Optional: Override global proxy.useCredentials configuration.
2021-10-11 18:38:13 +02:00
type: "< type > "
2021-10-10 10:47:23 +02:00
```
2021-10-10 20:57:04 +02:00
⚠️🚧 `endpoint` & `useCredentials` new options are not yet supported by all custom services (but will be very soon).
2021-01-13 21:22:35 +01:00
## PiHole
Using the PiHole service you can display info about your local PiHole instance right on your Homer dashboard.
The following configuration is available for the PiHole service.
2021-09-25 12:12:22 +02:00
```yaml
2021-10-10 10:47:23 +02:00
- name: "Pi-hole"
logo: "assets/tools/sample.png"
# subtitle: "Network-wide Ad Blocking" # optional, if no subtitle is defined, PiHole statistics will be shown
url: "http://192.168.0.151/admin"
type: "PiHole"
2021-01-13 21:22:35 +01:00
```
## OpenWeatherMap
Using the OpenWeatherMap service you can display weather information about a given location.
2021-09-13 23:13:26 +02:00
The following configuration is available for the OpenWeatherMap service:
2021-01-13 21:22:35 +01:00
2021-09-25 12:12:22 +02:00
```yaml
2021-10-10 10:47:23 +02:00
- name: "Weather"
location: "Amsterdam" # your location.
locationId: "2759794" # Optional: Specify OpenWeatherMap city ID for better accuracy
apiKey: "< ---insert-api-key-here--- > " # insert your own API key here. Request one from https://openweathermap.org/api.
units: "metric" # units to display temperature. Can be one of: metric, imperial, kelvin. Defaults to kelvin.
background: "square" # choose which type of background you want behind the image. Can be one of: square, cicle, none. Defaults to none.
type: "OpenWeather"
2021-01-13 21:22:35 +01:00
```
2021-01-28 13:02:18 +01:00
**Remarks:**
2021-09-13 22:09:40 +02:00
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).
2021-03-11 15:03:56 +01:00
## Medusa
This service displays News (grey), Warning (orange) or Error (red) notifications bubbles from the Medusa application.
Two lines are needed in the config.yml :
2021-09-25 12:12:22 +02:00
```yaml
2021-10-10 10:47:23 +02:00
type: "Medusa"
apikey: "01234deb70424befb1f4ef6a23456789"
2021-03-11 15:03:56 +01:00
```
2021-09-25 12:12:22 +02:00
2021-03-11 15:03:56 +01:00
The url must be the root url of Medusa application.
The Medusa API key can be found in General configuration > Interface. It is needed to access Medusa API.
## Sonarr/Radarr
This service displays Activity (blue), Warning (orange) or Error (red) notifications bubbles from the Radarr/Sonarr application.
Two lines are needed in the config.yml :
2021-09-25 12:12:22 +02:00
```yaml
2021-10-10 10:47:23 +02:00
type: "Radarr" or "Sonarr"
apikey: "01234deb70424befb1f4ef6a23456789"
2021-03-11 15:03:56 +01:00
```
2021-09-25 12:12:22 +02:00
2021-03-11 15:03:56 +01:00
The url must be the root url of Radarr/Sonarr application.
The Radarr/Sonarr API key can be found in Settings > General. It is needed to access the API.
2021-07-14 15:48:57 +02:00
## PaperlessNG
For Paperless you need an API-Key which you have to store at the item in the field `apikey` .
## Ping
2021-10-06 18:17:46 +02:00
For Ping you need to set the type to Ping and provide a url.
2021-10-06 18:16:17 +02:00
```yaml
2021-10-10 10:47:23 +02:00
- name: "Awesome app"
type: Ping
logo: "assets/tools/sample.png"
subtitle: "Bookmark example" tag: "app"
url: "https://www.reddit.com/r/selfhosted/"
2021-10-06 18:16:17 +02:00
```
2021-10-10 22:20:34 +02:00
## Prometheus
For Prometheus you need to set the type to Prometheus and provide a url.
```yaml
- name: "Prometheus"
type: Prometheus
logo: "assets/tools/sample.png"
url: "http://192.168.0.151/"
# subtitle: "Monitor data server"
```