summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorac79b0c6 <[email protected]>2022-05-15 21:29:20 +0800
committerac79b0c6 <[email protected]>2022-05-15 21:29:20 +0800
commited392828920cc4e673444f0518ec7ea697bf80b0 (patch)
tree8bcc89f5e235dc67e4558f6edb6c759fbd60ae9d /docker
parent36cd0cb9de33c00700fa35e6c6ff55d8746b8935 (diff)
update
Diffstat (limited to 'docker')
-rw-r--r--docker/Dockerfile42
-rw-r--r--docker/rebuild.sh3
-rw-r--r--docker/run.sh6
3 files changed, 51 insertions, 0 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644
index 0000000..25f570f
--- /dev/null
+++ b/docker/Dockerfile
@@ -0,0 +1,42 @@
+FROM alpine
+
+RUN apk update && \
+ apk add py3-fonttools mkvtoolnix ripgrep ffmpeg \
+ cmake make gcc nasm \
+ libc-dev libpng-dev freetype-dev fribidi-dev harfbuzz-dev fontconfig-dev
+
+
+RUN wget https://api.github.com/repos/MkvAutoSubset/MkvAutoSubset/releases/latest && \
+ VERSION=$(grep tag_name latest | cut -d '"' -f 4 | cut -d 'v' -f 2) && \
+ rm latest && \
+ wget https://github.com/MkvAutoSubset/MkvAutoSubset/releases/download/v${VERSION}/mkvtool_${VERSION}_Linux_$(uname -m).tar.gz && \
+ tar -xzvf *.tar.gz && \
+ rm *.tar.gz && \
+ mv mkvtool /usr/local/bin/ && \
+ mkdir fonts work
+
+RUN wget https://api.github.com/repos/libass/libass/releases/latest && \
+ VERSION=$(grep tag_name latest | cut -d '"' -f 4) && \
+ wget https://github.com/libass/libass/releases/download/${VERSION}/libass-${VERSION}.tar.gz && \
+ rm latest && \
+ tar -xzvf *.tar.gz && \
+ cd libass* && \
+ ./configure && \
+ make install && \
+ cd .. && \
+ rm -rf libass*
+
+RUN wget https://api.github.com/repos/Masaiki/ass2bdnxml/releases/latest && \
+ VERSION=$(grep tag_name latest | cut -d '"' -f 4) && \
+ rm latest && \
+ wget https://github.com/Masaiki/ass2bdnxml/archive/refs/tags/${VERSION}.tar.gz && \
+ tar -xzvf *.tar.gz && \
+ cd ass2bdnxml* && \
+ cmake -Bbuild -DCMAKE_BUILD_TYPE=Release . && \
+ cmake --build build && \
+ cp build/ass2bdnxml /usr/local/bin/ && \
+ cd .. && \
+ rm -rf ass2bdnxml* *.tar.gz
+
+WORKDIR work
+CMD ["sh", "-c", "[ -f ~/.mkvtool/caches/*.cache ] || mkvtool -cc -s /fonts ; sh"] \ No newline at end of file
diff --git a/docker/rebuild.sh b/docker/rebuild.sh
new file mode 100644
index 0000000..3adc0db
--- /dev/null
+++ b/docker/rebuild.sh
@@ -0,0 +1,3 @@
+NAME="mkvtool"
+[ "$(docker images | grep ${NAME})" ] && docker rm ${NAME}
+docker build -t ${NAME} $(dirname "$0")
diff --git a/docker/run.sh b/docker/run.sh
new file mode 100644
index 0000000..aa8aa1e
--- /dev/null
+++ b/docker/run.sh
@@ -0,0 +1,6 @@
+NAME="mkvtool"
+[ "$(docker images | grep ${NAME})" ] || docker build -t ${NAME} $(dirname "$0")
+FONT_DIR="/usr/share/fonts/truetype" # Change this to your font directory
+CACHE_DIR="${HOME}/.mkvtool/caches" # Change this to your cache directory
+OTHER_DIR="" # Change this to your other directory for example: -v aaa:bbb
+docker run --rm -it -v ${FONT_DIR}:/fonts -v ${CACHE_DIR}:/root/.mkvtool/caches ${OTHER_DIR} ${NAME}