| # debian.sh --arch 'amd64' out/ 'bookworm' '@1745798400' |
| ARG TARGETPLATFORM=linux/amd64 |
| ARG PORT=8945 |
| COPY ./usr/local/bin/ffmpeg /usr/bin/ffmpeg # buildkit |
| COPY ./usr/local/bin/ffprobe /usr/bin/ffprobe # buildkit |
| RUN |2 TARGETPLATFORM=linux/amd64 PORT=8945 /bin/sh -c apt-get update -y && apt-get install -y libstdc++6 openssl libncurses5 locales ca-certificates python3-mutagen curl zip openssh-client nano python3 pipx jq unzip procps && curl -fsSL https://deno.land/install.sh | DENO_INSTALL=/usr/local sh -s -- -y --no-modify-path && export PIPX_HOME=/opt/pipx && export PIPX_BIN_DIR=/usr/local/bin && pipx install apprise && 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 && sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| ENV LANG=en_US.UTF-8 |
| ENV LANGUAGE=en_US:en |
| ENV LC_ALL=en_US.UTF-8 |
| WORKDIR /app |
| RUN |2 TARGETPLATFORM=linux/amd64 PORT=8945 /bin/sh -c mkdir -p /config /downloads /etc/elixir_tzdata_data /etc/yt-dlp/plugins && chmod ugo+rw /etc/elixir_tzdata_data /etc/yt-dlp /etc/yt-dlp/plugins /usr/local/bin /usr/local/bin/yt-dlp # buildkit |
| ENV MIX_ENV=prod |
| ENV PORT=8945 |
| ENV RUN_CONTEXT=selfhosted |
| ENV UMASK=022 |
| EXPOSE [8945/tcp] |
| COPY /app/_build/prod/rel/pinchflat ./ # buildkit |
| HEALTHCHECK &{["CMD-SHELL" "curl --fail http://localhost:${PORT}/healthcheck || exit 1"] "30s" "0s" "15s" "0s" '\x00'} |
| CMD ["/app/bin/docker_start"] |