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
    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
      2 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
        12 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
            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.