mirror of
https://github.com/Syping/dtranslatebot-container.git
synced 2024-11-24 14:50:24 +01:00
59 lines
2.2 KiB
Docker
59 lines
2.2 KiB
Docker
FROM almalinux:9 AS build
|
|
|
|
ARG DPP_COMMIT=9ccd5db6171862f85c481974a6b3acd6d3ae6741
|
|
ARG DTB_COMMIT=912ac1eced6ae7762fdae0298137e69ff1566151
|
|
|
|
# Install build dependencies
|
|
RUN dnf install -y yum-utils && \
|
|
dnf config-manager --set-enabled crb
|
|
RUN dnf install -y cmake clang git ninja-build openssl-devel openssl-libs python3-pip zlib zlib-devel yum-utils
|
|
|
|
# Install LibreTranslate in virtual environment
|
|
RUN mkdir -p /opt/libretranslate && \
|
|
python3 -m venv /opt/libretranslate && \
|
|
source /opt/libretranslate/bin/activate && \
|
|
pip3 install libretranslate==1.5.5 \
|
|
--extra-index-url https://download.pytorch.org/whl/cpu
|
|
|
|
# Build libdpp and dtranslatebot
|
|
RUN mkdir -p /root/src && \
|
|
cd /root/src && \
|
|
git clone https://github.com/brainboxdotcc/DPP.git dpp && \
|
|
cd dpp && \
|
|
git reset --hard $DPP_COMMIT && \
|
|
cd /root/src && \
|
|
cmake -B dpp-build dpp \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_CXX_COMPILER=clang++ \
|
|
-DCMAKE_SHARED_LINKER_FLAGS=-s \
|
|
-GNinja && \
|
|
cmake --build dpp-build && \
|
|
cmake --install dpp-build && \
|
|
git clone https://github.com/Syping/dtranslatebot.git dtranslatebot && \
|
|
cd dtranslatebot && \
|
|
git reset --hard $DBT_COMMIT && \
|
|
cd /root/src && \
|
|
cmake -B dtranslatebot-build dtranslatebot \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_CXX_COMPILER=clang++ \
|
|
-DCMAKE_EXE_LINKER_FLAGS=-s \
|
|
-DCMAKE_INSTALL_RPATH=/usr/local/lib64 \
|
|
-GNinja && \
|
|
cmake --build dtranslatebot-build && \
|
|
cmake --install dtranslatebot-build
|
|
|
|
# Copy built files and dtranslatebot-ltd
|
|
RUN mkdir -p /root/destdir/opt && \
|
|
mkdir -p /root/destdir/usr/local/bin && \
|
|
mkdir -p /root/destdir/usr/local/lib64 && \
|
|
cp -R /opt/libretranslate /root/destdir/opt/ && \
|
|
cp /usr/local/bin/dtranslatebot /root/destdir/usr/local/bin/ && \
|
|
cp /usr/local/lib64/libdpp.so* /root/destdir/usr/local/lib64/
|
|
COPY dtranslatebot-ltd.py /root/destdir/usr/local/bin/dtranslatebot-ltd
|
|
|
|
# Build the image
|
|
FROM almalinux:9
|
|
RUN dnf install -y openssl-libs python3-requests zlib && \
|
|
dnf clean all
|
|
COPY --from=build /root/destdir/ /
|
|
ENTRYPOINT ["/usr/local/bin/dtranslatebot-ltd"]
|