gethomepage / homepage

A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.
https://gethomepage.dev/
GNU General Public License v3.0
17.97k stars 1.04k forks source link

[Bug] TypeError: s is undefined #568

Closed just5ky closed 1 year ago

just5ky commented 1 year ago

Description

image

Steps to reproduce

homepage version

v0.5.2

Installation method

Docker

Configuration

docker-compose.yml

  homepage:
    image: ghcr.io/benphelps/homepage
    container_name: homepage
    ports:
      - 3000:3000
    networks:
      - proxy
    volumes:
      - $DOCKERDIR/homepage:/app/config
      - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped

settings.yml

title: Galax
background: link to image
backgroundOpacity: 0.5

widgets.yml

- search:
    provider: duckduckgo
    target: _blank
    focus: true

#- resources:
    #label: System
    #cpu: true
    #memory: true
    #disk: /

- glances:
    url: http://192.168.0.152:61208
    label: Galax # optional

- resources:
    label: Storage
    disk:
      - /
      #- /mnt/250
      #- /mnt/media

- datetime:
    text_size: xl
    format:
      dateStyle: short
      timeStyle: short
      hour12: true

docker.yml

my-local-docker:
  socket: /var/run/docker.sock

Docker labels

      homepage.group: Admin
      homepage.name: Traefik
      homepage.icon: traefik.png
      homepage.description: Reverse Proxy
      homepage.href: https://traefik.domain.TLD
      homepage.widget.type: traefik
      homepage.widget.url: https://traefik.domain.TLD

### Container Logs

```Log
Listening on port 3000
[2022-11-28T07:01:57.220Z] error: (node:1) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)

Browser Logs

image

Other

Docker version 20.10.21, build baeda1f

shamoon commented 1 year ago

Can you recreate your container? And include the entire logs from startup through the error. I dont think our app is completely broken, AFAIK =)

just5ky commented 1 year ago

Removed and recreated. That's the whole log.

The app works fine on older version (before 0.5.x)

shamoon commented 1 year ago

Hmm, no one else is reporting such a catastrophic failure so trying to figure out whats up here. Nothing looks obvious about your config etc.

Realize its a bit of a pain but how about removing everything (including your configs and maybe even the docker labels too) and starting fresh? Then add the configs one-by-one and see if you can narrow down where the issue is? Again, I cant reproduce this

just5ky commented 1 year ago

Ok i will try to re-do everything

amino-8 commented 1 year ago

I'm getting the same issue and it seems to be completely random. It doesn't seem to matter how many services I have configured... However I have noticed that it only happens with my proxied URL (using traefik). If I access homepage using the local server URL then everything seems to load fine. Here's my compose block:

  homepage:
    image: ghcr.io/benphelps/homepage:latest
    container_name: homepage
    networks: 
      - t2_proxy
      - backend_net      
    ports:
      - 3200:3000
    volumes:
      - $USERDIR/Docker/homepage/config:/app/config # Make sure your local config directory exists
      - /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations
    labels: 
      - "traefik.enable=true"
    ## HTTP Routers
      - "traefik.http.routers.homepage-rtr.entrypoints=https"
      - "traefik.http.routers.homepage-rtr.rule=HostHeader(`homepage.$DOMAINNAME`)"
      - "traefik.http.routers.homepage-rtr.tls=true"
    ## Middlewares
      - "traefik.http.routers.homepage-rtr.middlewares=chain-authelia@file" 
    ## HTTP Services
      - "traefik.http.routers.homepage-rtr.service=homepage-svc"
      - "traefik.http.services.homepage-svc.loadbalancer.server.port=3000"  

when I use https://homepage.mydomain.com I get the TypeError but when I go to http://servername:3200 then everything is fine.

I can't find any relevant logs that point to the issue

b0red commented 1 year ago

I have a similar error, It won't dusciver the docker containers. Used to work before one of the upgrades (can't remember which one)

My files; docker.yaml

---
# For configuration options and examples, please see:
# https://gethomepage.dev/en/configs/docker/

docker:               #sorta works
  host: 127.0.0.1
  port: 2375

# Use docker directly, no proxy
# docker:
#   socket: /var/run/docker.sock

# docker:                       # does not work
#   host: dockerproxy

services.yaml

---
# # For configuration options and examples, please see:
# # https://gethomepage.dev/en/configs/services/
# # https://gethomepage.dev/en/configs/service-widgets/

- Mediaplayers:
    - Plex Media Server:
        icon: plex.png
        href: http://19x.x.x.x:32400
        description: Plex media server
        server: docker
        container: plex
        widget:
          type: plex
          url: http://19x.x.x:32400
          key: thekey              #           # see https://www.plexopedia.com/plex-media-server/general/plex-token/

settings.yaml

---
# For configuration options and examples, please see:
# https://gethomepage.dev/en/configs/settings

background: https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80

target: _blank

layout:
  Mediaplayers:
    icon: universal-media-server-light.png
    style: row
    columns: 4
  Downloaders:
    style: row
    columns: 3
  Music:
    style: row
    colums: 2

and parts of my docker-compose.yml:

---
    version: "3"
    services:
      #-------------------------------------------------------------------------------------------------
      # homepage - Another dashboard for your server                       -------------------- homepage
      # 
      #  # https://github.com/benphelps/homepage
      #  https://gethomepage.dev/en/configs/docker/
      #-------------------------------------------------------------------------------------------------     
      homepage:
        image: ghcr.io/benphelps/homepage:latest
        container_name: homepage
        hostname: homepage
        ports:
          - "${HOMEPAGE_PORT}:3000"
        volumes:
          - ${USERDIR}/homepage/config:/app/config        # Make sure your local config directory exists
          #- /var/run/docker.sock:/var/run/docker.sock    # (optional) For docker integrations
        labels:
          - deunhealth.restart.on.unhealthy=true
      #-------------------------------------------------------------------------------------------------  
      dockerproxy:                # For exposing docker sock more securely
      #-------------------------------------------------------------------------------------------------  
        image: ghcr.io/tecnativa/docker-socket-proxy:latest
        container_name: dockerproxy
        hostname: dockerproxy
        environment:
            - CONTAINERS=1 # Allow access to viewing containers
            - POST=0 # Disallow any POST operations (effectively read-only) 1/0
        ports:
            - "${DOCKERPROXY_PORT}:2375"
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock:ro # Mounted as read-only
        restart: unless-stopped

      #-------------------------------------------------------------------------------------------------
      # Portainer-CE - WebUI for docker containers                       ------------------ Portainer-CE
      #-------------------------------------------------------------------------------------------------
      portainer-ce:
        image: cr.portainer.io/portainer/portainer-ce:latest
        hostname: portainer-ce
        container_name: portainer-ce
        restart: always
        ports:
          - 8009:8000
          - 9000:9000
          - 9443:9443
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - ${USERDIR}/portainer-ce:/data
        labels:
          - homepage.group=Docker
          - homepage.name=Portainer
          - homepage.icon=portainer.png
          - homepage.href=${DEFAULT_URL}:${PORTAINER_PORT}
          - homepage.description=Docker apps
          - homepage.widget.type=portainer
          - homepage.widget.url=${DEFAULT_URL}:${PORTAINER_PORT}
          - homepage.widget.env=1
          - homepage.widget.key=${PORTAINER_KEY}

logfiles;

dockerproxy:

dockerproxy ghcr.io/tecnativa/docker-socket-proxy:latest
MEM2.68 MB
LOAD0%
2022-12-17 22:15:42
[WARNING] 350/211542 (1) : Can't open server state file '/var/lib/haproxy/server-state': No such file or directory
2022-12-17 22:15:42
[NOTICE] 350/211542 (1) : New worker #1 (6) forked
2022-12-17 22:15:42
Proxy dockerbackend started.
2022-12-17 22:15:42
Proxy dockerfrontend started.
2022-12-17 22:16:06
172.18.0.40:55168 [17/Dec/2022:21:16:05.938] dockerfrontend dockerbackend/dockersocket 0/0/0/61/63 200 147205 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:18:51
172.18.0.40:58478 [17/Dec/2022:21:18:51.663] dockerfrontend dockerbackend/dockersocket 0/0/0/82/82 200 147203 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:18:53
172.18.0.40:50288 [17/Dec/2022:21:18:53.599] dockerfrontend dockerbackend/dockersocket 0/0/0/46/47 200 147203 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:22:36
172.18.0.40:58284 [17/Dec/2022:21:22:36.933] dockerfrontend dockerbackend/dockersocket 0/0/0/57/58 200 147075 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:22:38
172.18.0.40:58296 [17/Dec/2022:21:22:38.606] dockerfrontend dockerbackend/dockersocket 0/0/0/108/111 200 147079 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:25:23
172.18.0.40:55452 [17/Dec/2022:21:25:23.270] dockerfrontend dockerbackend/dockersocket 0/0/0/255/256 200 147073 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:33:13
172.18.0.40:47230 [17/Dec/2022:21:33:13.394] dockerfrontend dockerbackend/dockersocket 0/0/0/215/226 200 147076 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:36:14
172.18.0.40:57116 [17/Dec/2022:21:36:14.016] dockerfrontend dockerbackend/dockersocket 0/0/0/52/52 200 147076 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:37:09
172.18.0.40:33630 [17/Dec/2022:21:37:09.137] dockerfrontend dockerbackend/dockersocket 0/0/0/38/39 200 147076 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:37:22
172.18.0.40:48308 [17/Dec/2022:21:37:22.603] dockerfrontend dockerbackend/dockersocket 0/0/0/48/49 200 147076 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:37:22
172.18.0.40:48312 [17/Dec/2022:21:37:22.893] dockerfrontend dockerbackend/dockersocket 0/0/0/43/44 200 147076 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:37:41
172.18.0.40:43008 [17/Dec/2022:21:37:41.510] dockerfrontend dockerbackend/dockersocket 0/0/0/68/73 200 147075 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:37:42
172.18.0.40:43010 [17/Dec/2022:21:37:42.020] dockerfrontend dockerbackend/dockersocket 0/0/0/44/45 200 147075 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:37:42
172.18.0.40:43024 [17/Dec/2022:21:37:42.489] dockerfrontend dockerbackend/dockersocket 0/0/0/105/105 200 147075 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:38:19
172.18.0.40:56950 [17/Dec/2022:21:38:19.747] dockerfrontend dockerbackend/dockersocket 0/0/0/38/39 200 147076 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"
2022-12-17 22:38:20
172.18.0.40:56954 [17/Dec/2022:21:38:20.040] dockerfrontend dockerbackend/dockersocket 0/0/0/30/31 200 147076 - - ---- 1/1/0/0/0 0/0 "GET /containers/json?all=true HTTP/1.1"

homepage logs (from dozzle)

homepage ghcr.io/benphelps/homepage:latest
MEM67.63 MB
LOAD0%
2022-12-17 22:22:57
Listening on port 3000
2022-12-17 22:25:23
(node:1) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
2022-12-17 22:25:23
(Use `node --trace-warnings ...` to show where the warning was created)
2022-12-17 22:37:09
[2022-12-17T21:37:09.314Z] error: undefined
2022-12-17 22:37:09
[2022-12-17T21:37:09.377Z] error: undefined
2022-12-17 22:37:22
[2022-12-17T21:37:22.687Z] error: undefined
2022-12-17 22:37:22
[2022-12-17T21:37:22.689Z] error: undefined
2022-12-17 22:37:41
[2022-12-17T21:37:41.687Z] error: undefined
2022-12-17 22:37:41
[2022-12-17T21:37:41.690Z] error: undefined
2022-12-17 22:37:42
[2022-12-17T21:37:42.674Z] error: undefined
2022-12-17 22:37:42
[2022-12-17T21:37:42.715Z] error: undefined
2022-12-17 22:38:19
[2022-12-17T21:38:19.830Z] error: undefined
2022-12-17 22:38:19
[2022-12-17T21:38:19.833Z] error: undefined
2022-12-17 22:51:13
[2022-12-17T21:51:13.992Z] error: Failed to discover services, please check docker.yaml for errors or remove example entries.
2022-12-17 22:51:13
[2022-12-17T21:51:13.993Z] error: undefined
2022-12-17 22:51:14
[2022-12-17T21:51:14.667Z] error: undefined
2022-12-17 22:51:15
[2022-12-17T21:51:15.051Z] error: Failed to discover services, please check docker.yaml for errors or remove example entries.
2022-12-17 22:51:15
[2022-12-17T21:51:15.052Z] error: undefined
2022-12-17 22:51:18
[2022-12-17T21:51:18.989Z] error: undefined
2022-12-17 22:51:19
[2022-12-17T21:51:19.043Z] error: Failed to discover services, please check docker.yaml for errors or remove example entries.
2022-12-17 22:51:19
[2022-12-17T21:51:19.045Z] error: undefined
2022-12-17 22:51:25
[2022-12-17T21:51:25.020Z] error: undefined
2022-12-17 22:51:32
[2022-12-17T21:51:32.474Z] error: undefined
2022-12-17 22:51:32
[2022-12-17T21:51:32.550Z] error: Failed to discover services, please check docker.yaml for errors or remove example entries.
2022-12-17 22:51:32
[2022-12-17T21:51:32.552Z] error: undefined
2022-12-17 22:51:40
[2022-12-17T21:51:40.202Z] error: undefined
shamoon commented 1 year ago

There are various versions of this being discussed here. In short if you’re compiling from source it’s hard to pinpoint without more detail but again no known issues that would indicate this is a true bug

Please re-open / post in discussions if still an issue

just5ky commented 1 year ago

I finally figured out which container was causing the issue. It was Matomo.

As soon as I add docker metrics to it, I am seeing the error.

JazzFisch commented 1 year ago

I finally figured out which container was causing the issue. It was Matomo.

As soon as I add docker metrics to it, I am seeing the error.

Please create a distinct bug with narrow and specific repro steps.

github-actions[bot] commented 6 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion for related concerns.