I’ve tried GetHomepage and while I’ve configured most of it I’ve had a few troubles due to the instructions being very incomplete and confusing.
The one problem that eluded me was setting paperlessngx widget. Worth nothing that, unlike the other services, paperlessngx is running on docker-compose on my server. While the widget detects the service, it never gets any information
Eventually it just gives an API error
# services.yaml (just the relevant part)
- Paperless-ngx:
href: http://<myserverhost:port>
description: Document Management System
icon: https://static-00.iconduck.com/assets.00/paperless-icon-426x512-eoik3emb.png
server: paperless
widget:
type: paperlessngx
url: http://<local-ip:port>
token: <token-configured-inside-paperless>
#docker.yaml
paperless:
host: <local-ip>
port: <port>
I’m out of ideas. Unfortunately the only instructions are on the site and they aren’t easy to follow if you’re not already familiarized with docker.
Try adding the / after the port in your widget config.
What is the api error (click on the red box)?
Likely unable to reach the host provided.
In paperless’ docker compose, set ‘container_name:’ to ‘paperless’ or similar, then use that same name as the host given to homepage:
widget: type: paperlessngx url: "http://paperless:8000/" key: [key]
Where is paperless in relation to homepage? For me i have both of them in the same docker host and same docker network on that host and with that i only need to set the paperless container name in the widget. If paperless is on another machine make sure there is no firewall blocking the port number.
They are both a docker-compose on the same machine.
Then you should be able to do like I said and it might solve whatever is happening. I also have both homepage and paperless in the same docker-compose file. If you set the container name for each container then you can just reference that in homepage widgets. For example here is my homepage and paperless:
homepage: image: ghcr.io/gethomepage/homepage:latest container_name: homepage restart: unless-stopped environment: - PUID=1000 - PGID=1000 - TZ=Europe/Berlin volumes: - /opt/docker/homepage:/app/config - /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations) paperless: image: ghcr.io/paperless-ngx/paperless-ngx:latest container_name: paperless restart: unless-stopped depends_on: - paperless-redis - postgres networks: - proxy user: "1000" environment: - USERMAP_UID=1000 - USERMAP_GID=1000 - TZ=Europe/Berlin - PAPERLESS_REDIS=redis://paperless-redis:6379 - PAPERLESS_TIKA_ENABLED=1 - PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://gotenberg:3000/ - PAPERLESS_TIKA_ENDPOINT=http://tika:9998/ - PAPERLESS_DBENGINE=postgresql - PAPERLESS_DBHOST=postgres - PAPERLESS_DBNAME=paperless - PAPERLESS_DBUSER=paperless - PAPERLESS_DBPASS=password volumes: - /opt/docker/paperless/data:/usr/src/paperless/data - /opt/docker/paperless/export:/usr/src/paperless/export - /opt/docker/paperless/consume:/usr/src/paperless/consume - /mnt/paperless:/usr/src/paperless/media
so both have
conatiner_name
set to the same string as the service name. And in my homepage widgets I just use the container name in the URL, example:- Paperless: icon: paperless-ngx href: https://paperless.local.tld/ widget: type: paperlessngx url: http://paperless:8000/ username: username password: password
This only works if they are in the same docker network. If you don’t explicitly set the network for the containers and they are in the same compose file then they should be in the same network.
I don’t think it’s you. The paperless widget stopped working for me recently after it had been fine before. Similar setup to yours.
It bothered me a little but since the widget isn’t actually very useful to me I didn’t care to invest more time to get to the bottom of it.
Mine works but I’m not in a position to confirm what my yaml looks like, I’ll try to remember to check before work.
Would love to see it.
Here’s mine from the Paperless compose.yml (non functional):
webserver: image: ghcr.io/paperless-ngx/paperless-ngx [...] labels: - homepage.group=Productivity - homepage.name=Paperless - homepage.icon=paperless.png - homepage.href=https://[LOCAL URL] - homepage.description=Document Management - homepage.widget.type=paperlessngx - homepage.widget.url=http://[PAPERLESS IP:PORT] - homepage.widget.key=[PAPERLESS API TOKEN]
And here’s the error from Homepage frontend:
API Error: Unknown error URL: http://[PAPERLESS IP:PORT]/api/statistics/?format=json Raw Error: { "errno": -110, "code": "ETIMEDOUT", "syscall": "connect", "address": "[PAPERLESS IP]", "port": [PAPERLESS PORT] }
“code”: “ETIMEDOUT”
Homepage is unable to reach the host you gave it. IP/hostname changed.
Don’t use the IP of the container, use its name (which you should set in paperless’ compose file: ‘container_name: paperless’)
I need to use the IP for specific reasons concerning my setup; and I don’t want the two containers to share a Docker network.
This used to work exactly as is when I set it up, but doesn’t anymore.
I tinkered with it some more now and I found that while I can ping the docker host, I can’t actually wget anything from any docker services from within the Homepage container. Currently at a loss why that might be.