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!

There’s a link in their Read Me on GitHub under the title about launching with Docker. Are you familiar with Docker?

@iturnedintoanewt@lemm.ee
creator
link
fedilink
English
11M

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?

@bobslaede@feddit.dk
link
fedilink
English
71M

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

@iturnedintoanewt@lemm.ee
creator
link
fedilink
English
1
edit-2
16d

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?

@bobslaede@feddit.dk
link
fedilink
English
116d

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.

@iturnedintoanewt@lemm.ee
creator
link
fedilink
English
116d

Sorry i don’t have experience checking docker logs… How do I go about that?

@bobslaede@feddit.dk
link
fedilink
English
216d

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

@iturnedintoanewt@lemm.ee
creator
link
fedilink
English
1
edit-2
14d

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.

@bobslaede@feddit.dk
link
fedilink
English
114d

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
Create a post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

  • 1 user online
  • 279 users / day
  • 589 users / week
  • 1.34K users / month
  • 4.55K users / 6 months
  • 1 subscriber
  • 3.5K Posts
  • 70K Comments
  • Modlog