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!

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

    There will probably be something in the logs that tells you what is going wrong. Maybe it can’t connect to the db, or maybe it’s starting on a wrong port or something.

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

        In the same place as you run your docker compose up command you just type docker compose logs

        • 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!