ABeltramo/cloudtube-docker

Cannot find module 'pinski' with cloudtube docker container

Closed this issue · 3 comments

Hello,

after an update, I cannot run cloudtube anymore. The errors I see in the logs:

 Error: Cannot find module 'pinski'
cloudtube             | Require stack:
cloudtube             | - /workdir/server.js
cloudtube             |     at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
cloudtube             |     at Module._load (node:internal/modules/cjs/loader:901:27)
cloudtube             |     at Module.require (node:internal/modules/cjs/loader:1115:19)
cloudtube             |     at require (node:internal/modules/helpers:119:18)
cloudtube             |     at Object.<anonymous> (/workdir/server.js:1:18)
cloudtube             |     at Module._compile (node:internal/modules/cjs/loader:1233:14)
cloudtube             |     at Module._extensions..js (node:internal/modules/cjs/loader:1287:10)
cloudtube             |     at Module.load (node:internal/modules/cjs/loader:1091:32)
cloudtube             |     at Module._load (node:internal/modules/cjs/loader:938:12)
cloudtube             |     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12) {
cloudtube             |   code: 'MODULE_NOT_FOUND',
cloudtube             |   requireStack: [ '/workdir/server.js' ]
cloudtube             | }

here is the snippet from my docker-compose.yml:

  cloudtube:
    image: abeltramo/cloudtube:latest
    container_name: cloudtube
    restart: always
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.cloudtube.rule=Host(`tube.domain.tld`,`www.tube.domain.tld`)"
      - "traefik.http.routers.cloudtube.entrypoints=websecure"
      - "traefik.http.routers.cloudtube.tls.certresolver=myresolver"
      - "traefik.http.services.cloudtube.loadbalancer.server.port=10412"
    volumes:
      - /docker/cloudtube/db:/workdir/db
      - /docker/cloudtube/config/config.js:/workdir/config/config.js
    networks:
      - cloudtube-internal
      - web

  newleaf:
    image: abeltramo/newleaf:latest
    container_name: newleaf
    restart: always
    volumes:
      - /docker/cloudtube/configuration.py:/workdir/configuration.py
    networks:
      - cloudtube-internal

same here

Sorry for the late reply.
Unfortunately, I had no time to look into this.
There's probably been some change in the original project since I had to add Rust to the toolchain. I'll checkout what's broken as soon as I have a bit of free time.

Sorry for the long wait to fix this, in the end I had to change tha base image to NodeJS 18 on Debian since better-sqlite3 only provides pre-built binaries for LTS versions of Node (and only for libc, Alpine musl is not provided).

I've quickly tried to let npm build the dependency manually but it was constantly failing, probably since the version specified in Cloudtube package.json is a bit old.

Feel free to re-open if the latest image doesn't fix the issue for you!