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
    13 months ago

    Thanks…Yeah I saw it. I have a few docker things deployed. But the “getting started” section completely ignores setting up the Postgresql DB, which very clearly it seems to want. This is not listed as a requirement, but still hinted casually around whenever it mentions the user/pass, environment variables etc.

    So…is there anywhere mentioned how to get the whole thing up and running, including docker and postgresql?

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

      They have a docker-compose.yml file in the repo. It looks like it has everything all ready for you.

      • @[email protected]OP
        link
        fedilink
        English
        1
        edit-2
        3 months ago

        Yeah…I copied the whole of it onto my docker-compose.yml. But after running a docker compose up, and after getting:

        docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
        [+] Running 3/3
         ✔ Network jellystat_default           Created                                                                                                                         0.1s 
         ✔ Container jellystat-jellystat-db-1  Started                                                                                                                         0.9s 
         ✔ Container jellystat-jellystat-1     Started       
        
        

        I still can’t get to connect on http://myIP:3000, I get nothing, just a “unable to connect” firefox error. Is there anything I should set up/modify on the docker-compose.yml?

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

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