11FROM lsiobase/ubuntu:focal
22
3- ARG VERSION
4- ARG MODULE
5-
63ENV \
74 LIBVA_DRIVERS_PATH="/usr/lib/x86_64-linux-gnu/dri" \
85 LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu" \
96 NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" \
107 NVIDIA_VISIBLE_DEVICES="all" \
11- HANDBRAKE=1.5 .1
8+ HANDBRAKE=1.6 .1
129
1310ENV WEB_UI_PORT="8265" SERVER_PORT="8266" NODE_PORT="8267" PUID="1000" PGID="1000" UMASK="002" TZ="Etc/UTC" HOME="/home/Tdarr"
1411
15- COPY root/ /
12+ COPY docker/ root/ /
1613
1714# handle deps
1815RUN apt-get update && \
@@ -25,24 +22,57 @@ RUN apt-get update && \
2522 /logs \
2623 /temp \
2724 "${HOME}" && \
28- useradd -u ${PUID} -U -d ${HOME} -s /bin/false Tdarr && \
29- usermod -G users Tdarr && \
25+ # useradd -u ${PUID} -U -d ${HOME} -s /bin/false Tdarr && \
26+ # usermod -G users Tdarr && \
3027
31- apt-get update && apt-get install -y curl unzip mkvtoolnix libtesseract-dev && \
32- if uname -m | grep -q x86; then \
28+ apt-get update && \
29+ apt-get install -y curl unzip mkvtoolnix && \
30+ #cc-extractor
31+ apt-get install -y \
32+ cargo \
33+ libglew-dev \
34+ libglfw3-dev \
35+ cmake \
36+ gcc \
37+ libcurl4-gnutls-dev \
38+ tesseract-ocr \
39+ libtesseract-dev \
40+ libleptonica-dev \
41+ clang \
42+ libclang-dev && \
43+ git clone https://github.com/CCExtractor/ccextractor.git && \
44+ cd ccextractor/linux && \
45+ ./build -without-rust && \
46+ mv ./ccextractor /usr/bin/ccextractor && \
47+
48+ cd / && rm -rf /ccextractor && \
49+ if uname -m | grep -q x86; then \
50+
51+ # b
52+ apt-get install -y gpg-agent wget && \
53+ wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | \
54+ gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg && \
55+ echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu focal-legacy main' | \
56+ tee /etc/apt/sources.list.d/intel.gpu.focal.list && \
57+
3358 # FFmpeg
3459 apt install -y wget && \
35- wget https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/4.3.2 -1/jellyfin-ffmpeg_4.3.2 -1-focal_amd64.deb && \
60+ wget https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/6.0 -1/jellyfin-ffmpeg6_6.0 -1-focal_amd64.deb && \
3661 apt install -y \
37- ./jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb && \
62+ ./jellyfin-ffmpeg6_6.0-1-focal_amd64.deb && \
63+ rm -rf ./jellyfin-ffmpeg6_6.0-1-focal_amd64.deb && \
3864 ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/local/bin/ffmpeg && \
3965 ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/local/bin/tdarr-ffmpeg && \
4066 # apt-get install -y ffmpeg && \
4167
42- # Intel deps
43- curl -s https://repositories.intel.com/graphics/intel-graphics.key | apt-key add - && \
44- echo 'deb [arch=amd64] https://repositories.intel.com/graphics/ubuntu focal main' > /etc/apt/sources.list.d/intel-graphics.list && \
4568 apt-get update && \
69+
70+ # b
71+ apt-get install -y \
72+ intel-opencl-icd \
73+ intel-level-zero-gpu level-zero \
74+ intel-media-va-driver-non-free libmfx1 libmfxgen1 libvpl2 && \
75+
4676 apt-get install -y --no-install-recommends \
4777 intel-media-va-driver-non-free \
4878 vainfo \
@@ -90,7 +120,9 @@ RUN apt-get update && \
90120 tar \
91121 zlib1g-dev \
92122 libva-dev \
93- libdrm-dev && \
123+ libdrm-dev \
124+ libmfx-dev \
125+ libmfx1 && \
94126
95127 rm -rdf /tmp/handbrake && \
96128 mkdir -p /tmp/handbrake && \
@@ -118,55 +150,4 @@ RUN apt-get update && \
118150 if uname -m | grep -q armv7l; then \
119151 apt-get install -y handbrake-cli ffmpeg && \
120152 ln -s /usr/bin/ffmpeg /usr/local/bin/tdarr-ffmpeg ; \
121- fi
122-
123- # handle tdarr binaries
124- RUN if [ "$MODULE" = "Tdarr_Node" ]; then \
125- echo removing /tdarr_server && \
126- rm -rdf /etc/services.d/tdarr_server ; \
127- fi && \
128-
129- apt-get update && apt-get install -y curl unzip mkvtoolnix libtesseract-dev && \
130- if uname -m | grep -q x86; then \
131- curl --connect-timeout 120 --retry 5 -o /tmp/$MODULE.zip -L \
132- "https://tdarrs.s3.us-west-000.backblazeb2.com/versions/$VERSION/linux_x64/$MODULE.zip" && \
133- unzip -q /tmp/$MODULE.zip -d /app/$MODULE -x *.exe && \
134-
135- if [ "$MODULE" = "Tdarr_Server" ]; then \
136- curl --connect-timeout 120 --retry 5 -o /tmp/Tdarr_Node.zip -L \
137- "https://tdarrs.s3.us-west-000.backblazeb2.com/versions/$VERSION/linux_x64/Tdarr_Node.zip" && \
138- unzip -q /tmp/Tdarr_Node.zip -d /app/Tdarr_Node -x *.exe ; \
139- fi ; \
140- fi && \
141- if uname -m | grep -q aarch64; then \
142- curl --connect-timeout 120 --retry 5 -o /tmp/$MODULE.zip -L \
143- "https://tdarrs.s3.us-west-000.backblazeb2.com/versions/$VERSION/linux_arm64/$MODULE.zip" && \
144- unzip -q /tmp/$MODULE.zip -d /app/$MODULE -x *.exe && \
145-
146- if [ "$MODULE" = "Tdarr_Server" ]; then \
147- curl --connect-timeout 120 --retry 5 -o /tmp/Tdarr_Node.zip -L \
148- "https://tdarrs.s3.us-west-000.backblazeb2.com/versions/$VERSION/linux_arm64/Tdarr_Node.zip" && \
149- unzip -q /tmp/Tdarr_Node.zip -d /app/Tdarr_Node -x *.exe ; \
150- fi ; \
151- fi && \
152- if uname -m | grep -q armv7l; then \
153- curl --connect-timeout 120 --retry 5 -o /tmp/$MODULE.zip -L \
154- "https://tdarrs.s3.us-west-000.backblazeb2.com/versions/$VERSION/linux_arm/$MODULE.zip" && \
155- unzip -q /tmp/$MODULE.zip -d /app/$MODULE -x *.exe && \
156-
157- if [ "$MODULE" = "Tdarr_Server" ]; then \
158- curl --connect-timeout 120 --retry 5 -o /tmp/Tdarr_Node.zip -L \
159- "https://tdarrs.s3.us-west-000.backblazeb2.com/versions/$VERSION/linux_arm/Tdarr_Node.zip" && \
160- unzip -q /tmp/Tdarr_Node.zip -d /app/Tdarr_Node -x *.exe ; \
161- fi ; \
162- fi && \
163-
164- rm -rdf /tmp/$MODULE.zip && \
165- rm -rdf /tmp/Tdarr_Node.zip && \
166- trash-empty && \
167- apt-get autoremove -y
168-
169- EXPOSE ${NODE_PORT}
170- EXPOSE ${WEB_UI_PORT}
171- EXPOSE ${SERVER_PORT}
172- ENTRYPOINT ["/init" ]
153+ fi
0 commit comments