Tzahi12345 / YoutubeDL-Material

Self-hosted YouTube downloader built on Material Design
MIT License
2.63k stars 272 forks source link

Raspberry Pi Docker error [99] #365

Open tam481 opened 3 years ago

tam481 commented 3 years ago

Hello, Sorry if this is the wrong place to post this but I'm having an issue with the Arm docker image (or at least I think so). It works fine if I run it on an x86 machine but not on on the Pi. I get the following error when trying to download:

An error has occurred: ERROR: unable to download video data: <urlopen error [Errno 99] Address not available>

I am running the latest image from docker hub

Is this a possible issue that needs to be investigated?

Both are using the same docker-compose.yml file so I know it's not a config issue.

Tzahi12345 commented 3 years ago

Can you try going in the Advanced tab in the settings and switching to youtube-dlc as the downloader? Perhaps youtube-dl is broken for whatever reason

tam481 commented 3 years ago

@Tzahi12345 Thank you for your reply. I tried that and it didn't work either. I'm going to try an earlier version and report back.

tam481 commented 3 years ago

@Tzahi12345 I tried with the previous nightly-arm release (I believe it's v4.1) It didn't work either. Then I changed the downloader to "curl" and it worked. However, subsequent downloads failed with the same error 99 message!

SyntaxError: Unexpected token u in JSON at position 0
    at JSON.parse (<anonymous>)
    at /app/app.js:1941:17
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
    at next (/app/node_modules/express/lib/router/route.js:137:13)
    at optionalJwt (/app/app.js:1812:12)
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
    at next (/app/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/app/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
    at /app/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/app/node_modules/express/lib/router/index.js:335:12)
    at next (/app/node_modules/express/lib/router/index.js:275:10)
    at compression (/app/node_modules/compression/index.js:220:5)
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/app/node_modules/express/lib/router/index.js:317:13)
    at /app/node_modules/express/lib/router/index.js:284:7
2021-04-09T18:48:25.788Z ERROR: ERROR: unable to download video data: <urlopen error [Errno 99] Address not available>
2021-04-09T18:49:39.989Z ERROR: ERROR: unable to download video data: <urlopen error [Errno 99] Address not available>

It looks like it's updating to the latest nightly. I'm not sure

2021-04-09T18:39:42.208Z INFO: YoutubeDL-Material v4.1 started on PORT 17442
2021-04-09T18:39:42.738Z INFO: Found new update for youtube-dl. Updating binary...
2021-04-09T18:39:44.093Z INFO: Binary successfully updated: 2020.07.28 -> 2021.04.07
Tzahi12345 commented 3 years ago

Just realized I haven't responded to this. The nightly-arm tag is old and nightly should work for ARM-based CPUs as well. Perhaps you'll have better luck there?

kraoc commented 2 years ago

On a Pi4 x64 you may try this compose:

version: "1"
services:
  youtubedl:
    image: tzahi12345/youtubedl-material:nightly-arm
    container_name: youtubedl
    ports:
      - 8998:17442
    depends_on:
      - youtubedl-mongo-db
    environment: 
      ALLOW_CONFIG_MUTATIONS: 'true'
      ytdl_mongodb_connection_string: 'mongodb://root:pass@youtubedl-mongo-db:27017'
      ytdl_use_local_db: 'false'
      write_ytdl_config: 'true'      
    volumes:
      - /opt/docker/youtubedl/config:/app/appdata
      - /opt/docker/youtubedl/work/audio:/app/audio
      - /opt/docker/youtubedl/work/subscriptions:/app/subscriptions
      - /opt/docker/youtubedl/work/users:/app/users
      - /opt/docker/youtubedl/work/video:/app/video
    restart: unless-stopped
  youtubedl-mongo-db:
    image: mongo:4.4
    container_name: youtubedl-mongo-db
    ports:
      - 27017:27017
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: pass      
    logging:
      driver: "none"          
    restart: unless-stopped
    volumes:
      - /opt/docker/youtubedl/work/db:/data/db
      - /opt/docker/youtubedl/work/configdb:/data/configdb

This is an example working after many researches :p