alexta69 / metube

Self-hosted YouTube downloader (web UI for youtube-dl / yt-dlp)
GNU Affero General Public License v3.0
3.96k stars 259 forks source link

AUDIO_DOWNLOAD_DIR #396

Open noro-gamser opened 4 months ago

noro-gamser commented 4 months ago

Hey,

may it is an user error, but I cant use:

AUDIO_DOWNLOAD_DIR=/music

version: "3" services: metube: image: ghcr.io/alexta69/metube container_name: metube restart: unless-stopped ports:

.env AUDIO_DOWNLOAD_DIR=/music

I tried diffrent approches nothing worked out,

I even tried to change the entery script

!/bin/sh

echo "Setting umask to ${UMASK}" umask ${UMASK} echo "Creating download directory (${DOWNLOAD_DIR}), audio download directory (${AUDIO_DOWNLOAD_DIR}), state directory (${STATE_DIR}), and temp dir (${TEMP_DIR})" mkdir -p "${DOWNLOAD_DIR}" "${AUDIO_DOWNLOAD_DIR}" "${STATE_DIR}" "${TEMP_DIR}" "/music"

if [ id -u -eq 0 ] && [ id -g -eq 0 ]; then if [ "${UID}" -eq 0 ]; then echo "Warning: it is not recommended to run as root user; please check your setting of the UID environment variable" fi echo "Changing ownership of download, state, and audio download directories to ${UID}:${GID}" chown -R "${UID}":"${GID}" /app "${DOWNLOAD_DIR}" "${AUDIO_DOWNLOAD_DIR}" "${STATE_DIR}" "${TEMP_DIR}" "/music" echo "Running MeTube as user ${UID}:${GID}" su-exec "${UID}":"${GID}" python3 app/main.py else echo "User set by Docker; running MeTube as id -u:id -g" python3 app/main.py fi

Im not a dev spend few hours to understand what my issue is. I only want to separate the audios from the others :/

edit: i saw only now this:

metube | ERROR: Unable to download video: [Errno 2] No such file or directory: '/downloads/Wind.webm.part' metube | INFO:ytdl:waiting for item to download

did it stilltries to download into the /downloads folder?

PikuZheng commented 4 months ago

I don't fully understand with your description, but yt-dlp needs to write temporary files first, then use ffmpeg to convent it to a final file, and finally move it into download_dir. If you do not configure temp_dir, it is equivalent to download_dir. If the /music folder does not exist within the container, it will raise an error when moving files.