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!
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.
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
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?
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.