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?
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.
Sorry i don’t have experience checking docker logs… How do I go about that?
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?
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?
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!