FROM node:18-bookworm
ARG RHUBARB_VERSION=1.14.0
ENV RHUBARB_HOME=/opt/rhubarb-lip-sync
# apt-get update: パッケージ一覧を更新する。
# apt-get install: ffmpeg、Chromium 実行依存、ダウンロード・展開ツールを最小構成で入れる。
# wget: 指定バージョンの Rhubarb Lip Sync を GitHub Releases から一時領域へ取得する。
# unzip: 取得したアーカイブを /opt に展開する。
# mv: Rhubarb Lip Sync を固定パスから参照できる名前へ移動する。
# chmod: Rhubarb 本体とラッパーコマンドに実行権限を付ける。
# printf: PATH から rhubarb を呼べるラッパーコマンドを作成する。
# rm: 一時ファイルと apt のキャッシュを削除してイメージサイズを抑える。
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates ffmpeg fonts-liberation libasound2 libatk-bridge2.0-0 libatk1.0-0 \
libc6 libcairo2 libcups2 libdbus-1-3 libdrm2 libexpat1 libfontconfig1 libgbm1 \
libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libx11-6 libx11-xcb1 \
libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 \
libxrender1 unzip wget xdg-utils && \
wget -q -O /tmp/rhubarb.zip \
"https://github.com/DanielSWolf/rhubarb-lip-sync/releases/download/v${RHUBARB_VERSION}/Rhubarb-Lip-Sync-${RHUBARB_VERSION}-Linux.zip" && \
unzip -q /tmp/rhubarb.zip -d /opt && \
mv "/opt/Rhubarb-Lip-Sync-${RHUBARB_VERSION}-Linux" "${RHUBARB_HOME}" && \
chmod +x "${RHUBARB_HOME}/rhubarb" && \
printf '#!/bin/sh\nexec "%s/rhubarb" "$@"\n' "${RHUBARB_HOME}" > /usr/local/bin/rhubarb && \
chmod +x /usr/local/bin/rhubarb && \
rm -f /tmp/rhubarb.zip && \
rm -rf /var/lib/apt/lists/*