Hi! I’m currently looking onto perhaps running Jellystat. But the instructions seem to be a bit…lacking? Is there a step by step guide on how to get it up and running?

Thanks!

  • iturnedintoanewt@lemm.eeOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 months ago

    Huh…so the log is just an almost infinite loop of these:

    jellystat-1     | Error: getaddrinfo ENOTFOUND jellystat-db
    jellystat-1     |     at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:120:26)
    jellystat-1     | [JELLYSTAT] Database exists. Skipping creation
    jellystat-1     | FS-related option specified for migration configuration. This resets migrationSource to default FsMigrations
    jellystat-1     | FS-related option specified for migration configuration. This resets migrationSource to default FsMigrations
    jellystat-1     | node:internal/process/promises:391
    jellystat-1     |     triggerUncaughtException(err, true /* fromPromise */);
    jellystat-1     |     ^
    jellystat-1     | 
    jellystat-1     | Error: getaddrinfo ENOTFOUND jellystat-db
    jellystat-1     |     at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:120:26) {
    jellystat-1     |   errno: -3008,
    jellystat-1     |   code: 'ENOTFOUND',
    jellystat-1     |   syscall: 'getaddrinfo',
    jellystat-1     |   hostname: 'jellystat-db'
    jellystat-1     | }
    

    Just for clarity’s sake, here’s my docker-compose.yml:

    version: '3'
    services:
      jellystat-db:
        image: postgres:15.2
        environment:
          POSTGRES_DB: 'jfstat'
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: mypassword
        volumes:
        - /postgres-data:/var/lib/postgresql/data # Mounting the volume
      jellystat:
        image: cyfershepard/jellystat:latest
        environment:
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: MyJellystat
          POSTGRES_IP: jellystat-db
          POSTGRES_PORT: 5432
          JWT_SECRET: 'my-secret-jwt-key'
        ports:
          - "3000:3000" #Server Port
        volumes:
          - /backup-data:/app/backend/backup-data # Mounting the volume
    
        depends_on:
          - jellystat-db
        restart: unless-stopped
    networks:
      default:
    
    

    I literally haven’t changed anything from default as it was a test, even the password fields.

    • bobslaede
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      Your passwords for the database does not match.
      But the error is about it not being able to reach the database on the hostname.
      I can run it with this compose file:

      services:
        jellystat-db:
          image: postgres:16-alpine
          container_name: jellystat-db
          restart: unless-stopped
          environment:
            POSTGRES_USER: ${POSTGRES_USER}
            POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
          volumes:
            - postgres-data:/var/lib/postgresql/data
          networks:
            - jellystat
        jellystat:
          image: cyfershepard/jellystat:latest
          container_name: jellystat
          restart: unless-stopped
          environment:
            POSTGRES_USER: ${POSTGRES_USER}
            POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
            POSTGRES_IP: jellystat-db
            POSTGRES_PORT: 5432
            JWT_SECRET: ${JWT_SECRET}
            TZ: Europe/Paris # timezone (ex: Europe/Paris)
            JS_BASE_URL: /
          volumes:
            - jellystat-backup-data:/app/backend/backup-data
          depends_on:
            - jellystat-db
          networks:
            - traefik
            - jellystat
          labels:
            - traefik.enable=true
            - traefik.docker.network=traefik
            - traefik.http.routers.jellystat.entrypoints=https
            - traefik.http.routers.jellystat.rule=Host(`${HOSTNAME}`)
            - traefik.http.routers.jellystat.tls.certresolver=http
            - traefik.http.routers.jellystat.service=jellystat
            - traefik.http.services.jellystat.loadbalancer.server.port=3000
            - traefik.http.services.jellystat.loadbalancer.server.scheme=http
      networks:
        jellystat: {}
        traefik:
          external: true
      volumes:
        postgres-data: null
        jellystat-backup-data: null
      
      • iturnedintoanewt@lemm.eeOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        2 months ago
         services:
           jellystat-db:
             image: postgres:16-alpine
             container_name: jellystat-db
             restart: unless-stopped
             environment:
               POSTGRES_USER: ${POSTGRES_USER}
               POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
             volumes:
               - postgres-data:/var/lib/postgresql/data
             networks:
               - jellystat
           jellystat:
             image: cyfershepard/jellystat:latest
             container_name: jellystat
             restart: unless-stopped
             environment:
               POSTGRES_USER: ${POSTGRES_USER}
               POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
               POSTGRES_IP: jellystat-db
               POSTGRES_PORT: 5432
               JWT_SECRET: ${JWT_SECRET}
               TZ: Europe/Paris # timezone (ex: Europe/Paris)
               JS_BASE_URL: /
             volumes:
               - jellystat-backup-data:/app/backend/backup-data
             depends_on:
               - jellystat-db
             networks:
               - traefik
               - jellystat
             labels:
               - traefik.enable=true
               - traefik.docker.network=traefik
               - traefik.http.routers.jellystat.entrypoints=https
               - traefik.http.routers.jellystat.rule=Host(`${HOSTNAME}`)
               - traefik.http.routers.jellystat.tls.certresolver=http
               - traefik.http.routers.jellystat.service=jellystat
               - traefik.http.services.jellystat.loadbalancer.server.port=3000
               - traefik.http.services.jellystat.loadbalancer.server.scheme=http
         networks:
           jellystat: {}
           traefik:
             external: true
         volumes:
           postgres-data: null
           jellystat-backup-data: null
        

        Hmmm thanks but I’m not using traefik…Is it part of the needed setup?

        • bobslaede
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 months ago

          No. You can leave that out. That was just me showing you that it runs on my machine, with that setup. Just bind the port instead.

          • iturnedintoanewt@lemm.eeOP
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 months ago

            Just came to say thanks…Yeah eventually after copy-pasting it from scratch again, I got it running. Seems to be working now. Thanks again!