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@feddit.dk
      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@feddit.dk
          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@feddit.dk
              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!