aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/troubleshooting.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/troubleshooting.md')
-rw-r--r--docs/troubleshooting.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md
new file mode 100644
index 0000000..ed1f85d
--- /dev/null
+++ b/docs/troubleshooting.md
@@ -0,0 +1,19 @@
1# Troubleshooting
2
3## My custom service card doesn't work, nothing appears or offline status is displayed (pi-hole, sonarr, ping, ...)
4
5You might by facing a [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) (Cross Origin Request Sharing) issue.
6It happens when the targeted service is hosted on a different domain or port.
7Web browsers will not allow to fetch information from a different site without explicit permissions (the targeted service
8must include a special `Access-Control-Allow-Origin: *` HTTP headers).
9If this happens your web console (`ctrl+shit+i` or `F12`) will be filled with this kind of errors:
10
11```text
12Access 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.
13```
14
15To resolve this, you can either:
16
17* Host all your target service under the same domain & port.
18* 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.
19* 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.