mirror of
https://github.com/HaveAGitGat/Tdarr.git
synced 2025-12-10 00:07:09 -06:00
Update docker files
This commit is contained in:
parent
1cb8a1e0d0
commit
cb85af99aa
@ -1,18 +1,15 @@
|
|||||||
FROM lsiobase/ubuntu:focal
|
FROM lsiobase/ubuntu:focal
|
||||||
|
|
||||||
ARG VERSION
|
|
||||||
ARG MODULE
|
|
||||||
|
|
||||||
ENV \
|
ENV \
|
||||||
LIBVA_DRIVERS_PATH="/usr/lib/x86_64-linux-gnu/dri" \
|
LIBVA_DRIVERS_PATH="/usr/lib/x86_64-linux-gnu/dri" \
|
||||||
LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu" \
|
LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu" \
|
||||||
NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" \
|
NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" \
|
||||||
NVIDIA_VISIBLE_DEVICES="all" \
|
NVIDIA_VISIBLE_DEVICES="all" \
|
||||||
HANDBRAKE=1.5.1
|
HANDBRAKE=1.6.1
|
||||||
|
|
||||||
ENV WEB_UI_PORT="8265" SERVER_PORT="8266" NODE_PORT="8267" PUID="1000" PGID="1000" UMASK="002" TZ="Etc/UTC" HOME="/home/Tdarr"
|
ENV WEB_UI_PORT="8265" SERVER_PORT="8266" NODE_PORT="8267" PUID="1000" PGID="1000" UMASK="002" TZ="Etc/UTC" HOME="/home/Tdarr"
|
||||||
|
|
||||||
COPY root/ /
|
COPY docker/root/ /
|
||||||
|
|
||||||
# handle deps
|
# handle deps
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
@ -25,24 +22,57 @@ RUN apt-get update && \
|
|||||||
/logs \
|
/logs \
|
||||||
/temp \
|
/temp \
|
||||||
"${HOME}" && \
|
"${HOME}" && \
|
||||||
useradd -u ${PUID} -U -d ${HOME} -s /bin/false Tdarr && \
|
# useradd -u ${PUID} -U -d ${HOME} -s /bin/false Tdarr && \
|
||||||
usermod -G users Tdarr && \
|
# usermod -G users Tdarr && \
|
||||||
|
|
||||||
apt-get update && apt-get install -y curl unzip mkvtoolnix libtesseract-dev && \
|
apt-get update && \
|
||||||
if uname -m | grep -q x86; then \
|
apt-get install -y curl unzip mkvtoolnix && \
|
||||||
|
#cc-extractor
|
||||||
|
apt-get install -y \
|
||||||
|
cargo \
|
||||||
|
libglew-dev \
|
||||||
|
libglfw3-dev \
|
||||||
|
cmake \
|
||||||
|
gcc \
|
||||||
|
libcurl4-gnutls-dev \
|
||||||
|
tesseract-ocr \
|
||||||
|
libtesseract-dev \
|
||||||
|
libleptonica-dev \
|
||||||
|
clang \
|
||||||
|
libclang-dev && \
|
||||||
|
git clone https://github.com/CCExtractor/ccextractor.git && \
|
||||||
|
cd ccextractor/linux && \
|
||||||
|
./build -without-rust && \
|
||||||
|
mv ./ccextractor /usr/bin/ccextractor && \
|
||||||
|
|
||||||
|
cd / && rm -rf /ccextractor && \
|
||||||
|
if uname -m | grep -q x86; then \
|
||||||
|
|
||||||
|
# b
|
||||||
|
apt-get install -y gpg-agent wget && \
|
||||||
|
wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | \
|
||||||
|
gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg && \
|
||||||
|
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu focal-legacy main' | \
|
||||||
|
tee /etc/apt/sources.list.d/intel.gpu.focal.list && \
|
||||||
|
|
||||||
# FFmpeg
|
# FFmpeg
|
||||||
apt install -y wget && \
|
apt install -y wget && \
|
||||||
wget https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/4.3.2-1/jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb && \
|
wget https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/6.0-1/jellyfin-ffmpeg6_6.0-1-focal_amd64.deb && \
|
||||||
apt install -y \
|
apt install -y \
|
||||||
./jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb && \
|
./jellyfin-ffmpeg6_6.0-1-focal_amd64.deb && \
|
||||||
|
rm -rf ./jellyfin-ffmpeg6_6.0-1-focal_amd64.deb && \
|
||||||
ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/local/bin/ffmpeg && \
|
ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/local/bin/ffmpeg && \
|
||||||
ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/local/bin/tdarr-ffmpeg && \
|
ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/local/bin/tdarr-ffmpeg && \
|
||||||
# apt-get install -y ffmpeg && \
|
# apt-get install -y ffmpeg && \
|
||||||
|
|
||||||
# Intel deps
|
|
||||||
curl -s https://repositories.intel.com/graphics/intel-graphics.key | apt-key add - && \
|
|
||||||
echo 'deb [arch=amd64] https://repositories.intel.com/graphics/ubuntu focal main' > /etc/apt/sources.list.d/intel-graphics.list && \
|
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
|
|
||||||
|
# b
|
||||||
|
apt-get install -y \
|
||||||
|
intel-opencl-icd \
|
||||||
|
intel-level-zero-gpu level-zero \
|
||||||
|
intel-media-va-driver-non-free libmfx1 libmfxgen1 libvpl2 && \
|
||||||
|
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
intel-media-va-driver-non-free \
|
intel-media-va-driver-non-free \
|
||||||
vainfo \
|
vainfo \
|
||||||
@ -90,7 +120,9 @@ RUN apt-get update && \
|
|||||||
tar \
|
tar \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
libva-dev \
|
libva-dev \
|
||||||
libdrm-dev && \
|
libdrm-dev \
|
||||||
|
libmfx-dev \
|
||||||
|
libmfx1 && \
|
||||||
|
|
||||||
rm -rdf /tmp/handbrake && \
|
rm -rdf /tmp/handbrake && \
|
||||||
mkdir -p /tmp/handbrake && \
|
mkdir -p /tmp/handbrake && \
|
||||||
@ -118,55 +150,4 @@ RUN apt-get update && \
|
|||||||
if uname -m | grep -q armv7l; then \
|
if uname -m | grep -q armv7l; then \
|
||||||
apt-get install -y handbrake-cli ffmpeg && \
|
apt-get install -y handbrake-cli ffmpeg && \
|
||||||
ln -s /usr/bin/ffmpeg /usr/local/bin/tdarr-ffmpeg ; \
|
ln -s /usr/bin/ffmpeg /usr/local/bin/tdarr-ffmpeg ; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# handle tdarr binaries
|
|
||||||
RUN if [ "$MODULE" = "Tdarr_Node" ]; then \
|
|
||||||
echo removing /tdarr_server && \
|
|
||||||
rm -rdf /etc/services.d/tdarr_server ; \
|
|
||||||
fi && \
|
|
||||||
|
|
||||||
apt-get update && apt-get install -y curl unzip mkvtoolnix libtesseract-dev && \
|
|
||||||
if uname -m | grep -q x86; then \
|
|
||||||
curl --connect-timeout 120 --retry 5 -o /tmp/$MODULE.zip -L \
|
|
||||||
"https://tdarrs.s3.us-west-000.backblazeb2.com/versions/$VERSION/linux_x64/$MODULE.zip" && \
|
|
||||||
unzip -q /tmp/$MODULE.zip -d /app/$MODULE -x *.exe && \
|
|
||||||
|
|
||||||
if [ "$MODULE" = "Tdarr_Server" ]; then \
|
|
||||||
curl --connect-timeout 120 --retry 5 -o /tmp/Tdarr_Node.zip -L \
|
|
||||||
"https://tdarrs.s3.us-west-000.backblazeb2.com/versions/$VERSION/linux_x64/Tdarr_Node.zip" && \
|
|
||||||
unzip -q /tmp/Tdarr_Node.zip -d /app/Tdarr_Node -x *.exe ; \
|
|
||||||
fi ; \
|
|
||||||
fi && \
|
|
||||||
if uname -m | grep -q aarch64; then \
|
|
||||||
curl --connect-timeout 120 --retry 5 -o /tmp/$MODULE.zip -L \
|
|
||||||
"https://tdarrs.s3.us-west-000.backblazeb2.com/versions/$VERSION/linux_arm64/$MODULE.zip" && \
|
|
||||||
unzip -q /tmp/$MODULE.zip -d /app/$MODULE -x *.exe && \
|
|
||||||
|
|
||||||
if [ "$MODULE" = "Tdarr_Server" ]; then \
|
|
||||||
curl --connect-timeout 120 --retry 5 -o /tmp/Tdarr_Node.zip -L \
|
|
||||||
"https://tdarrs.s3.us-west-000.backblazeb2.com/versions/$VERSION/linux_arm64/Tdarr_Node.zip" && \
|
|
||||||
unzip -q /tmp/Tdarr_Node.zip -d /app/Tdarr_Node -x *.exe ; \
|
|
||||||
fi ; \
|
|
||||||
fi && \
|
|
||||||
if uname -m | grep -q armv7l; then \
|
|
||||||
curl --connect-timeout 120 --retry 5 -o /tmp/$MODULE.zip -L \
|
|
||||||
"https://tdarrs.s3.us-west-000.backblazeb2.com/versions/$VERSION/linux_arm/$MODULE.zip" && \
|
|
||||||
unzip -q /tmp/$MODULE.zip -d /app/$MODULE -x *.exe && \
|
|
||||||
|
|
||||||
if [ "$MODULE" = "Tdarr_Server" ]; then \
|
|
||||||
curl --connect-timeout 120 --retry 5 -o /tmp/Tdarr_Node.zip -L \
|
|
||||||
"https://tdarrs.s3.us-west-000.backblazeb2.com/versions/$VERSION/linux_arm/Tdarr_Node.zip" && \
|
|
||||||
unzip -q /tmp/Tdarr_Node.zip -d /app/Tdarr_Node -x *.exe ; \
|
|
||||||
fi ; \
|
|
||||||
fi && \
|
|
||||||
|
|
||||||
rm -rdf /tmp/$MODULE.zip && \
|
|
||||||
rm -rdf /tmp/Tdarr_Node.zip && \
|
|
||||||
trash-empty && \
|
|
||||||
apt-get autoremove -y
|
|
||||||
|
|
||||||
EXPOSE ${NODE_PORT}
|
|
||||||
EXPOSE ${WEB_UI_PORT}
|
|
||||||
EXPOSE ${SERVER_PORT}
|
|
||||||
ENTRYPOINT ["/init"]
|
|
||||||
65
docker/Dockerfile.final
Normal file
65
docker/Dockerfile.final
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
ARG VERSION
|
||||||
|
ARG DATE
|
||||||
|
|
||||||
|
FROM docker.io/haveagitgat/tdarr_acc:base_${VERSION}_${DATE}
|
||||||
|
|
||||||
|
ARG VERSION
|
||||||
|
ARG MODULE
|
||||||
|
ARG DATE
|
||||||
|
|
||||||
|
ENV WEB_UI_PORT="8265" SERVER_PORT="8266" NODE_PORT="8267" PUID="1000" PGID="1000" UMASK="002" TZ="Etc/UTC" HOME="/home/Tdarr"
|
||||||
|
|
||||||
|
|
||||||
|
ENV MODULE_LINK=""
|
||||||
|
ENV NODE_LINK=""
|
||||||
|
ENV BASE_LINK="https://tdarrs.s3.us-west-000.backblazeb2.com/dev/versions/$VERSION"
|
||||||
|
ENV inContainer="true"
|
||||||
|
|
||||||
|
# handle tdarr binaries
|
||||||
|
RUN echo $MODULE && echo $VERSION && echo $DATE && \
|
||||||
|
if [ "$MODULE" = "Tdarr_Node" ]; then \
|
||||||
|
echo removing /tdarr_server && \
|
||||||
|
rm -rdf /etc/services.d/tdarr_server ; \
|
||||||
|
fi && \
|
||||||
|
|
||||||
|
apt-get update && apt-get install -y curl unzip mkvtoolnix libtesseract-dev && \
|
||||||
|
if uname -m | grep -q x86; then \
|
||||||
|
MODULE_LINK="${BASE_LINK}/linux_x64/${MODULE}_$DATE.zip" && \
|
||||||
|
NODE_LINK="${BASE_LINK}/linux_x64/Tdarr_Node_$DATE.zip" ; \
|
||||||
|
fi && \
|
||||||
|
if uname -m | grep -q aarch64; then \
|
||||||
|
MODULE_LINK="${BASE_LINK}/linux_arm64/${MODULE}_$DATE.zip" && \
|
||||||
|
NODE_LINK="${BASE_LINK}/linux_arm64/Tdarr_Node_$DATE.zip" ; \
|
||||||
|
fi && \
|
||||||
|
if uname -m | grep -q armv7l; then \
|
||||||
|
MODULE_LINK="${BASE_LINK}/linux_arm/${MODULE}_$DATE.zip" && \
|
||||||
|
NODE_LINK="${BASE_LINK}/linux_arm/Tdarr_Node_$DATE.zip" ; \
|
||||||
|
fi && \
|
||||||
|
|
||||||
|
echo MODULE_LINK=$MODULE_LINK && \
|
||||||
|
echo NODE_Link=$NODE_LINK && \
|
||||||
|
curl --connect-timeout 120 --retry 5 -o /tmp/$MODULE.zip -L \
|
||||||
|
"$MODULE_LINK" && \
|
||||||
|
unzip -q /tmp/$MODULE.zip -d /app/$MODULE -x *.exe && \
|
||||||
|
if [ "$MODULE" = "Tdarr_Server" ]; then \
|
||||||
|
curl --connect-timeout 120 --retry 5 -o /tmp/Tdarr_Node.zip -L \
|
||||||
|
"$NODE_LINK" && \
|
||||||
|
unzip -q /tmp/Tdarr_Node.zip -d /app/Tdarr_Node -x *.exe ; \
|
||||||
|
fi && \
|
||||||
|
rm -rdf /tmp/$MODULE.zip && \
|
||||||
|
rm -rdf /tmp/Tdarr_Node.zip && \
|
||||||
|
|
||||||
|
cp -r /app /app_test && \
|
||||||
|
runTests=true runDockerTests=true /app_test/$MODULE/$MODULE && \
|
||||||
|
if [ "$MODULE" = "Tdarr_Server" ]; then \
|
||||||
|
runTests=true runDockerTests=true /app_test/Tdarr_Node/Tdarr_Node ; \
|
||||||
|
fi && \
|
||||||
|
rm -rdf /app_test && \
|
||||||
|
|
||||||
|
trash-empty && \
|
||||||
|
apt-get autoremove -y
|
||||||
|
|
||||||
|
EXPOSE ${NODE_PORT}
|
||||||
|
EXPOSE ${WEB_UI_PORT}
|
||||||
|
EXPOSE ${SERVER_PORT}
|
||||||
|
ENTRYPOINT ["/init"]
|
||||||
Loading…
x
Reference in New Issue
Block a user