-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
74 lines (60 loc) · 2.59 KB
/
Copy pathDockerfile
File metadata and controls
74 lines (60 loc) · 2.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# DigiPres Toolbox
# ----------------
#
# A Docker image with some DigiPres tools pre-installed
#
# Start from as small an image as possible:
FROM python:3.11-slim-bullseye
# Some (smallish) tools and support for installing more (69MB)
RUN apt-get update && \
apt-get install -y unzip curl xz-utils gzip mediainfo cloc file git fuse3 kmod && \
apt-get clean && rm -rf /var/lib/apt/lists/*
# Install JRE for Java programs (headless 250MB, headful is 431MB)
RUN apt-get update && apt-get install -y default-jre && \
apt-get clean && rm -rf /var/lib/apt/lists/*
# Install Siegfried (71MB)
ENV SF_VERSION=1.11.2
ENV SF_DEB=siegfried_${SF_VERSION}-1_amd64.deb
RUN curl -s -L -O https://github.com/richardlehane/siegfried/releases/download/v${SF_VERSION}/${SF_DEB} && \
dpkg -i ${SF_DEB} && \
rm -f ${SF_DEB} && \
sf -update
# Install TRiD (9MB)
RUN curl -s -L -O http://mark0.net/download/trid_linux_64.zip && \
curl -s -L -O http://mark0.net/download/triddefs.zip && \
unzip trid_linux_64.zip && unzip triddefs.zip && chmod +x ./trid && \
mv ./trid /usr/local/bin/trid && mv triddefs.trd /usr/local/bin/ && \
rm -f trid_linux_64.zip triddefs.zip
# Install Fido (10MB)
RUN pip install --no-cache-dir opf-fido
# Install RClone (62MB) as per https://rclone.org/install/#linux-precompiled
RUN curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip && \
unzip rclone-current-linux-amd64.zip && \
cp rclone-*-linux-amd64/rclone /usr/bin/ && \
chown root:root /usr/bin/rclone && \
chmod 755 /usr/bin/rclone && \
rm -fr rclone-*-linux-*
#
# Skipping the following to try to keep the image size down...
#
# Install GitHub Linguist (~200MB at least, depending on shared deps)
RUN apt-get update && \
apt-get install -y build-essential cmake pkg-config libicu-dev zlib1g-dev libcurl4-openssl-dev libssl-dev ruby-dev && \
gem install github-linguist && \
apt-get clean && rm -rf /var/lib/apt/lists/*
# Install ffmpeg for a/v formats (484MB!)
RUN apt-get update && apt-get install -y ffmpeg && \
apt-get clean && rm -rf /var/lib/apt/lists/*
# Install Apache Tika (needs Java)
ENV TIKA_VERSION=3.2.2
RUN curl -s -L -o /usr/share/java/tika-app-${TIKA_VERSION}.jar https://dlcdn.apache.org/tika/${TIKA_VERSION}/tika-app-${TIKA_VERSION}.jar && \
ln -s /usr/share/java/tika-app-${TIKA_VERSION}.jar /usr/share/java/tika-app.jar
COPY tika.sh /usr/local/bin/tika.sh
# Install DROID (needs Java)
COPY droid /usr/share/java/droid
RUN ln -s /usr/share/java/droid/droid.sh /usr/local/bin/droid.sh
#
# Final setup...
#
# Set bash as default shell
RUN chsh -s /bin/bash root