mirror of
https://github.com/Syping/dtranslatebot.git
synced 2026-04-01 05:20:22 +02:00
65 lines
2 KiB
Docker
65 lines
2 KiB
Docker
# Build dtranslatebot
|
|
FROM alpine:3.23 AS build
|
|
RUN apk add --no-cache \
|
|
clang \
|
|
cmake \
|
|
curl-dev \
|
|
git \
|
|
jq \
|
|
libc++-dev \
|
|
llvm-libunwind-dev \
|
|
ninja-build \
|
|
openssl-dev \
|
|
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 git clone https://github.com/brainboxdotcc/DPP.git --branch "v$DPP_VERSION" --depth=1 --single-branch
|
|
RUN cmake \
|
|
-DAVX_TYPE=AVX0 \
|
|
-DBUILD_VOICE_SUPPORT=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
|
|
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 --disabled-password dtranslatebot
|
|
USER dtranslatebot
|
|
WORKDIR /home/dtranslatebot
|
|
COPY --from=build /build/dtranslatebot.json .
|
|
ENTRYPOINT ["/opt/dtranslatebot/bin/dtranslatebot", "--wait-for-translator", "dtranslatebot.json"]
|