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]OP
    link
    fedilink
    English
    1
    edit-2
    3 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
      13 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
          13 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!