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!

  • @[email protected]
    link
    fedilink
    English
    22 months ago

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

    • @[email protected]OP
      link
      fedilink
      English
      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.

      • @[email protected]
        link
        fedilink
        English
        12 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
        
        • @[email protected]OP
          link
          fedilink
          English
          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?

          • @[email protected]
            link
            fedilink
            English
            12 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.

            • @[email protected]OP
              link
              fedilink
              English
              22 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!