mirror of
https://github.com/Syping/dtranslatebot.git
synced 2026-05-13 16:44:16 +02:00
70 lines
2.1 KiB
Docker
70 lines
2.1 KiB
Docker
# Build dtranslatebot
|
|
FROM alpine:3.23 AS build
|
|
RUN apk add --no-cache \
|
|
clang \
|
|
cmake \
|
|
curl-dev \
|
|
jq \
|
|
libc++-dev \
|
|
llvm-libunwind-dev \
|
|
ninja-build \
|
|
openssl-dev \
|
|
wget \
|
|
zlib-dev
|
|
WORKDIR /build
|
|
COPY CMakeLists.txt dtranslatebot/
|
|
COPY cmake/ dtranslatebot/cmake/
|
|
COPY src/ dtranslatebot/src/
|
|
ENV CC=clang CXX=clang++
|
|
ENV DPP_VERSION=10.1.4
|
|
RUN wget -q \
|
|
"https://github.com/brainboxdotcc/DPP/releases/download/v$DPP_VERSION/DPP-$DPP_VERSION.tar.gz" \
|
|
-O "DPP-$DPP_VERSION.tar.gz"
|
|
RUN tar xfz "DPP-$DPP_VERSION.tar.gz"
|
|
RUN cmake \
|
|
-DAVX_TYPE=AVX0 \
|
|
-DBUILD_VOICE_SUPPORT=OFF \
|
|
-DDPP_BUILD_TEST=OFF \
|
|
-DDPP_NO_CORO=ON \
|
|
-DDPP_NO_VCPKG=ON \
|
|
-DRUN_LDCONFIG=OFF \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_CXX_FLAGS=-stdlib=libc++ \
|
|
-DCMAKE_INSTALL_PREFIX=/opt/dtranslatebot \
|
|
-DCMAKE_MAKE_PROGRAM=/usr/lib/ninja-build/bin/ninja \
|
|
-G Ninja \
|
|
-B DPP-build \
|
|
"DPP-$DPP_VERSION"
|
|
RUN cmake --build DPP-build
|
|
RUN cmake --install DPP-build --strip
|
|
RUN cmake \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_CXX_FLAGS=-stdlib=libc++ \
|
|
-DCMAKE_INSTALL_PREFIX=/opt/dtranslatebot \
|
|
-DCMAKE_INSTALL_RPATH=/opt/dtranslatebot/lib \
|
|
-DCMAKE_MAKE_PROGRAM=/usr/lib/ninja-build/bin/ninja \
|
|
-G Ninja \
|
|
-B dtranslatebot-build \
|
|
dtranslatebot
|
|
RUN cmake --build dtranslatebot-build
|
|
RUN cmake --install dtranslatebot-build --strip
|
|
RUN echo '{"translator":{"type":"stub"}}' | jq > dtranslatebot.json
|
|
|
|
# Create the dtranslatebot Container
|
|
FROM alpine:3.23
|
|
RUN apk add --no-cache \
|
|
libc++ \
|
|
libcrypto3 \
|
|
libcurl \
|
|
libssl3 \
|
|
llvm-libunwind \
|
|
zlib
|
|
COPY --from=build /opt/dtranslatebot/bin/dtranslatebot /opt/dtranslatebot/bin/
|
|
COPY --from=build /opt/dtranslatebot/lib/*.so /opt/dtranslatebot/lib/
|
|
COPY --from=build /opt/dtranslatebot/lib/*.so.* /opt/dtranslatebot/lib/
|
|
RUN adduser -D dtranslatebot
|
|
USER dtranslatebot
|
|
WORKDIR /home/dtranslatebot
|
|
VOLUME /home/dtranslatebot
|
|
COPY --from=build /build/dtranslatebot.json .
|
|
ENTRYPOINT ["/opt/dtranslatebot/bin/dtranslatebot", "--wait-for-translator", "dtranslatebot.json"]
|