ViewTube / viewtube

▶️ ViewTube: The open source, privacy-conscious way to enjoy your favorite YouTube content. Docs: https://viewtube.wiki, Status: https://uptime.viewtube.io
https://viewtube.io
GNU Affero General Public License v3.0
1.31k stars 75 forks source link

EROFS: read-only filesystem, mkdir '/node_modules/ytsr/dumps' - but not immediately #1581

Closed FearWasHere closed 1 year ago

FearWasHere commented 1 year ago

hi - this feels like a weird one. i'm self hosting, using docker-compose, and am able to run the container and its friends (mongo and redis), but...something is wrong. docker logs show the container starts, and is nominally happy - until i try to search for something, at which point, i see the following in the logs:

ℹ Primary node started: pid 1
start Starting in clustered mode
ℹ Worker node started: pid 18
ℹ Modern bundles are detected. Modern mode (server) is enabled now.
ready Server listening on http://0.0.0.0:8066

 ERROR  EROFS: read-only filesystem, mkdir '/node_modules/ytsr/dumps'

  at makeError (.pnp.cjs:13952:24)
  at EROFS (.pnp.cjs:13982:10)
  at ZipFS.mkdirSync (.pnp.cjs:16388:30)
  at .pnp.cjs:17272:20
  at .pnp.cjs:17482:58
  at ZipOpenFS.getZipSync (.pnp.cjs:17641:14)
  at ZipOpenFS.makeCallSync (.pnp.cjs:17482:17)
  at ZipOpenFS.mkdirSync (.pnp.cjs:17267:17)
  at VirtualFS.mkdirSync (.pnp.cjs:14648:24)
  at PosixFS.mkdirSync (.pnp.cjs:14648:24)

two other clues that feel important:

1) when i had VIEWTUBE_URL set in docker-compose.yml to http://localhost:8066 the main page showed a grid layout of videos, but with broken images for every thumbnail; also, no video would load. but there was text on the main page, and in at least one case, i got comments and the description of a video to load. also, the sign-up captcha didn't show an image. when i went back and set that to the actual ip of the machine (then restarted the container), i could sign up and log in, because captcha now worked, but the main page was just blank except for the background, as was the search page. and looking at the logs, i found the error above.

2) connecting to the container, i manually created the directory structure in question: mkdir -p /node_modules/ytsr/dumps and just for good measure recursively set its perms to 777. when i restarted the container again, search worked! i was able to see a grid of videos! i clicked on one, and...nothing again. and the exact same error was back in the logs, despite the directory structure existing now.

i feel like this must be something i'm doing, but i can't figure out what. anyone have any suggestions for what to try next?

background info:

ubuntu server 22.04.1 LTS running on a vm in the homelab.
newly-spun vm specifically for this purpose, with no other services running on it apart from telegraf.

thanks for any advice!

moisout commented 1 year ago

The error in your log is caused by the package manager not allowing writes in node_modules. This has been fixed already, and will be part of the next update.

Your issue with improper loading of things is weird tho. Could you maybe test it on the dev version (mauriceo/viewtube:dev) and see if it works there?

FearWasHere commented 1 year ago

i absolutely will! i'll let you know what i see shortly

FearWasHere commented 1 year ago

duuuuuude. whatever the change is, that seems to have fixed everything!

i didn't mention it before for whatever reason, but i had also been unable to import subscriptions (from invidious). i could select the file and check off channels, but the import itself barfed. THAT is now fixed, the main page shows videos, and search works. can't believe i didn't think to check the dev version before.

just out of curiosity, is there a date for when this branch goes live? no stress either way, just asking idly.

thanks!

moisout commented 1 year ago

It's quite a big upgrade, so it will take some time :)

FearWasHere commented 1 year ago

fair enough! i appreciate the tip, and the product even more. thanks again