diff --git a/docker/dev.Dockerfile b/docker/dev.Dockerfile index adf30df..04a3e13 100644 --- a/docker/dev.Dockerfile +++ b/docker/dev.Dockerfile @@ -13,7 +13,7 @@ RUN echo "Building for ${TARGETPLATFORM:?}" RUN apt-get update -qq && \ apt-get install -y inotify-tools curl git openssh-client jq \ python3 python3-setuptools python3-wheel python3-dev pipx \ - python3-mutagen locales procps build-essential graphviz zsh + python3-mutagen locales procps build-essential graphviz zsh unzip # Install ffmpeg RUN export FFMPEG_DOWNLOAD=$(case ${TARGETPLATFORM:-linux/amd64} in \ @@ -32,8 +32,14 @@ RUN curl -sL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh && \ # Install baseline Elixir packages mix local.hex --force && \ mix local.rebar --force && \ + # Install Deno - required for YouTube downloads (See yt-dlp#14404) + curl -fsSL https://deno.land/install.sh | DENO_INSTALL=/usr/local sh -s -- -y --no-modify-path && \ # Download and update YT-DLP - curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && \ + export YT_DLP_DOWNLOAD=$(case ${TARGETPLATFORM:-linux/amd64} in \ + "linux/amd64") echo "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux" ;; \ + "linux/arm64") echo "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux_aarch64" ;; \ + *) echo "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux" ;; esac) && \ + curl -L ${YT_DLP_DOWNLOAD} -o /usr/local/bin/yt-dlp && \ chmod a+rx /usr/local/bin/yt-dlp && \ yt-dlp -U && \ # Install Apprise diff --git a/docker/selfhosted.Dockerfile b/docker/selfhosted.Dockerfile index 3022ab0..94fa923 100644 --- a/docker/selfhosted.Dockerfile +++ b/docker/selfhosted.Dockerfile @@ -73,6 +73,7 @@ RUN mix release FROM ${RUNNER_IMAGE} +ARG TARGETPLATFORM ARG PORT=8945 COPY --from=builder ./usr/local/bin/ffmpeg /usr/bin/ffmpeg @@ -94,13 +95,21 @@ RUN apt-get update -y && \ python3 \ pipx \ jq \ + # unzip is needed for Deno + unzip \ procps && \ + # Install Deno - required for YouTube downloads (See yt-dlp#14404) + curl -fsSL https://deno.land/install.sh | DENO_INSTALL=/usr/local sh -s -- -y --no-modify-path && \ # Apprise export PIPX_HOME=/opt/pipx && \ export PIPX_BIN_DIR=/usr/local/bin && \ pipx install apprise && \ # yt-dlp - curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux -o /usr/local/bin/yt-dlp && \ + export YT_DLP_DOWNLOAD=$(case ${TARGETPLATFORM:-linux/amd64} in \ + "linux/amd64") echo "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux" ;; \ + "linux/arm64") echo "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux_aarch64" ;; \ + *) echo "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux" ;; esac) && \ + curl -L ${YT_DLP_DOWNLOAD} -o /usr/local/bin/yt-dlp && \ chmod a+rx /usr/local/bin/yt-dlp && \ yt-dlp -U && \ # Set the locale diff --git a/mix.exs b/mix.exs index 70dc39f..27e5f85 100644 --- a/mix.exs +++ b/mix.exs @@ -4,7 +4,7 @@ defmodule Pinchflat.MixProject do def project do [ app: :pinchflat, - version: "2025.6.6", + version: "2025.9.26", elixir: "~> 1.17", elixirc_paths: elixirc_paths(Mix.env()), elixirc_options: [warnings_as_errors: System.get_env("EX_CHECK") == "1"],