Compare commits
7 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
67d8bd5598 | ||
|
|
6cb715c1d0 | ||
|
|
d38c26f6fd | ||
|
|
163e8eb8cc | ||
|
|
0688e880f5 | ||
|
|
4f8cba3f9c | ||
|
|
2a371c4419 |
7 changed files with 27 additions and 16 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 -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
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ defmodule PinchflatWeb.CustomComponents.TabComponents do
|
|||
{render_slot(@tab_append)}
|
||||
</div>
|
||||
</header>
|
||||
<div class="mt-4 min-h-60">
|
||||
<div class="mt-4 min-h-60 overflow-x-auto">
|
||||
<div :for={tab <- @tab} x-show={"openTab === '#{tab.id}'"} class="font-medium leading-relaxed">
|
||||
{render_slot(tab)}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@
|
|||
field={f[:embed_subs]}
|
||||
type="toggle"
|
||||
label="Embed Subtitles"
|
||||
help="Downloads and embeds subtitles in the media file itself, if supported. Uneffected by 'Download Subtitles'"
|
||||
help="Downloads and embeds subtitles in the media file itself, if supported. Unaffected by 'Download Subtitles'"
|
||||
x-init="$watch('selectedPreset', p => p && (enabled = presets[p]))"
|
||||
/>
|
||||
</section>
|
||||
|
|
@ -154,7 +154,7 @@
|
|||
field={f[:embed_thumbnail]}
|
||||
type="toggle"
|
||||
label="Embed Thumbnail"
|
||||
help="Downloads and embeds thumbnail in the media file itself, if supported. Uneffected by 'Download Thumbnail' (recommended)"
|
||||
help="Downloads and embeds thumbnail in the media file itself, if supported. Unaffected by 'Download Thumbnail' (recommended)"
|
||||
x-init="$watch('selectedPreset', p => p && (enabled = presets[p]))"
|
||||
/>
|
||||
</section>
|
||||
|
|
@ -178,7 +178,7 @@
|
|||
field={f[:embed_metadata]}
|
||||
type="toggle"
|
||||
label="Embed Metadata"
|
||||
help="Downloads and embeds metadata in the media file itself, if supported. Uneffected by 'Download Metadata' (recommended)"
|
||||
help="Downloads and embeds metadata in the media file itself, if supported. Unaffected by 'Download Metadata' (recommended)"
|
||||
x-init="$watch('selectedPreset', p => p && (enabled = presets[p]))"
|
||||
/>
|
||||
</section>
|
||||
|
|
|
|||
|
|
@ -56,12 +56,8 @@
|
|||
session: %{"media_state" => "pending"}
|
||||
)}
|
||||
</:tab>
|
||||
<:tab title="Active Tasks" id="active-tasks">
|
||||
{live_render(@conn, Pinchflat.Pages.JobTableLive)}
|
||||
</:tab>
|
||||
</.tabbed_layout>
|
||||
</div>
|
||||
|
||||
<div class="rounded-sm border shadow-default border-strokedark bg-boxdark mt-4 p-5">
|
||||
<span class="text-2xl font-medium mb-4">Active Tasks</span>
|
||||
<section class="mt-6 min-h-80">
|
||||
{live_render(@conn, Pinchflat.Pages.JobTableLive)}
|
||||
</section>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ defmodule PinchflatWeb.Sources.MediaItemTableLive do
|
|||
<header class="flex justify-between items-center mb-4">
|
||||
<span class="flex items-center">
|
||||
<.icon_button icon_name="hero-arrow-path" class="h-10 w-10" phx-click="reload_page" tooltip="Refresh" />
|
||||
<span class="ml-2">
|
||||
<span class="mx-2">
|
||||
Showing <.localized_number number={length(@records)} /> of <.localized_number number={@filtered_record_count} />
|
||||
</span>
|
||||
</span>
|
||||
|
|
|
|||
2
mix.exs
2
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"],
|
||||
|
|
|
|||
Loading…
Reference in a new issue