Add troubleshooting section

This commit is contained in:
Bastien Wirtz 2021-09-25 12:13:04 +02:00
parent 1d3287dcca
commit 7129af3bda
3 changed files with 22 additions and 1 deletions

View File

@ -47,7 +47,7 @@
- [Custom services](docs/customservices.md) - [Custom services](docs/customservices.md)
- [Tips & tricks](docs/tips-and-tricks.md) - [Tips & tricks](docs/tips-and-tricks.md)
- [Development](docs/development.md) - [Development](docs/development.md)
- [Troubleshooting](docs/troubleshooting.md)
## Features ## Features

View File

@ -4,6 +4,8 @@ Some service can use a specific a component that provides some extra features by
configuration. Available services are in `src/components/`. Here is an overview of all custom services that are available configuration. Available services are in `src/components/`. Here is an overview of all custom services that are available
within Homer. within Homer.
If you experiencing any issue, please have a look to the [troubleshooting](troubleshooting.md) page.
## PiHole ## PiHole
Using the PiHole service you can display info about your local PiHole instance right on your Homer dashboard. Using the PiHole service you can display info about your local PiHole instance right on your Homer dashboard.

19
docs/troubleshooting.md Normal file
View File

@ -0,0 +1,19 @@
# Troubleshooting
## My custom service card doesn't work, nothing appears or offline status is displayed (pi-hole, sonarr, ping, ...)
You might by facing a [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) (Cross Origin Request Sharing) issue.
It happens when the targeted service is hosted on a different domain or port.
Web browsers will not allow to fetch information from a different site without explicit permissions (the targeted service
must include a special `Access-Control-Allow-Origin: *` HTTP headers).
If this happens your web console (`ctrl+shit+i` or `F12`) will be filled with this kind of errors:
```text
Access to fetch at 'https://<target-service>' from origin 'https://<homer>' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
```
To resolve this, you can either:
* Host all your target service under the same domain & port.
* Modify the target sever configuration so that the response of the server included following header- `Access-Control-Allow-Origin: *` (<https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple_requests>). It might be an option in the targeted service, otherwise depending on how the service is hosted, the proxy or web server can seamlessly add it.
* Use a cors proxy sever like [`cors-container`](https://github.com/imjacobclark/cors-container), [`cors-anywhere`](https://github.com/Rob--W/cors-anywhere) or many others.