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
    ·
    4 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
      4 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
        ·
        4 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
          3 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
            ·
            4 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
              ·
              3 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!