You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
homepage/docs/troubleshooting/index.md

67 lines
3.3 KiB

1 year ago
---
title: Troubleshooting
description: Basic Troubleshooting
icon: material/message-question
1 year ago
hide:
- navigation
---
## General Troubleshooting Tips
- For API errors, clicking the "API Error Information" button in the widget will usually show some helpful information as to whether the issue is reaching the service host, an authentication issue, etc.
- Check config/logs/homepage.log, on docker simply e.g. `docker logs homepage`. This may provide some insight into the reason for an error.
- Check the browser error console, this can also sometimes provide useful information.
- Consider setting the `ENV` variable `LOG_LEVEL` to `debug`.
## Service Widget Errors
All service widgets work essentially the same, that is, homepage makes a proxied call to an API made available by that service. The majority of the time widgets don't work it is a configuration issue. Of course, sometimes things do break. Some basic steps to try:
1. Ensure that you follow the rule mentioned on https://gethomepage.dev/configs/service-widgets/. **Unless otherwise noted, URLs should not end with a / or other API path. Each widget will handle the path on its own.**. This is very important as including a trailing slash can result in an error.
1 year ago
2. Verify the homepage installation can connect to the IP address or host you are using for the widget `url`. This is most simply achieved by pinging the server from the homepage machine, in Docker this means _from inside the container_ itself, e.g.:
1 year ago
```
docker exec homepage ping SERVICEIPORDOMAIN
```
1 year ago
If your homepage install (container) cannot reach the service then you need to figure out why, for example in Docker this can mean putting the two containers on the same network, checking firewall issues, etc.
1 year ago
3. If you have verified that homepage can in fact reach the service then you can also check the API output using e.g. `curl`, which is often helpful if you do need to file a bug report. Again, depending on your networking setup this may need to be run from _inside the container_ as IP / hostname resolution can differ inside vs outside.
1 year ago
!!! note
`curl` is not installed in the base image by default but can be added inside the container with `apk add curl`.
1 year ago
The exact API endpoints and authentication vary of course, but in many cases instructions can be found by searching the web or if you feel comfortable looking at the homepage source code (e.g. `src/widgets/{widget}/widget.js`).
1 year ago
It is out of the scope of this to go into full detail about how to , but an example for PiHole would be:
1 year ago
```
curl -L -k http://PIHOLEIPORHOST/admin/api.php
```
1 year ago
Or for AdGuard:
1 year ago
```
curl -L -k -u 'username:password' http://ADGUARDIPORHOST/control/stats
```
1 year ago
Or for Portainer:
1 year ago
```
curl -L -k -H 'X-Api-Key:YOURKEY' 'https://PORTAINERIPORHOST:PORT/api/endpoints/2/docker/containers/json'
```
1 year ago
Sonarr:
1 year ago
```
curl -L -k 'http://SONARRIPORHOST:PORT/api/v3/queue?apikey=YOURAPIKEY'
```
1 year ago
This will return some data which may reveal an issue causing a true bug in the service widget.
1 year ago
## Missing custom icons
If, after correctly adding and mapping your custom icons via the [Icons](../configs/services.md#icons) instructions, you are still unable to see your icons please try recreating your container.