mirror of
https://github.com/Bluemangoo/sekai-unpacker.git
synced 2026-05-06 20:44:47 +08:00
43 lines
1.5 KiB
Docker
43 lines
1.5 KiB
Docker
FROM rust:slim-bookworm AS builder
|
|
WORKDIR /usr/src/app
|
|
RUN cargo build --release
|
|
RUN apt-get update && apt-get install -y musl-tools pkg-config libssl-dev
|
|
RUN rustup target add x86_64-unknown-linux-musl
|
|
COPY . .
|
|
RUN cargo build --target x86_64-unknown-linux-musl --release --bin client
|
|
|
|
FROM mcr.microsoft.com/dotnet/sdk:9.0-bookworm-slim AS assetstudio-builder
|
|
WORKDIR /src
|
|
RUN apt-get update && apt-get install -y --no-install-recommends git ca-certificates && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
RUN git clone --depth 1 --single-branch --branch sekai-modify https://github.com/Team-Haruki/AssetStudio.git
|
|
RUN cd AssetStudio/AssetStudioCLI && \
|
|
dotnet publish -c Release -r linux-x64 -f net9.0 --self-contained true -o /app/assetstudio \
|
|
-p:PublishTrimmed=false \
|
|
-p:PublishSingleFile=true \
|
|
-p:IncludeNativeLibrariesForSelfExtract=true
|
|
|
|
FROM mwader/static-ffmpeg:7.1.1 AS ffmpeg-builder
|
|
|
|
FROM debian:trixie-slim
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
tzdata \
|
|
libicu76 \
|
|
libxml2 && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
COPY --from=builder /app/target/release/server /app/server
|
|
COPY --from=assetstudio-builder /app/assetstudio /app/server
|
|
COPY --from=ffmpeg-builder /ffmpeg /usr/local/bin/ffmpeg
|
|
RUN ln -sf /app/assetstudio/AssetStudioModCLI /app/assetstudio/AssetStudioCLI && \
|
|
mkdir -p logs
|
|
|
|
ENV TZ=Asia/Shanghai \
|
|
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \
|
|
|
|
EXPOSE 3000
|
|
|
|
CMD ["./server"] |