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
    15 days 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
      115 days 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
          215 days 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
            13 days 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
              113 days 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
                1 day 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
                  112 days 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
                    21 day 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!