From 7e53928f1c701113b6ecd65105a770cd0661d93c Mon Sep 17 00:00:00 2001 From: soryu Date: Sun, 21 Dec 2025 02:29:44 +0000 Subject: Fixup: Move container image to build from root --- Dockerfile | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Dockerfile (limited to 'Dockerfile') diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c8e7a2b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,58 @@ +# Build stage +FROM rust:1.83-bookworm AS builder + +WORKDIR /app + +# Install build dependencies +RUN apt-get update && apt-get install -y \ + pkg-config \ + libssl-dev \ + && rm -rf /var/lib/apt/lists/* + +# Copy workspace files +COPY Cargo.toml Cargo.lock ./ +COPY makima ./makima +COPY vendor ./vendor + +# Build release binary +RUN cargo build --release --package makima --bin makima-server + +# Runtime stage +FROM debian:bookworm-slim + +WORKDIR /app + +# Install runtime dependencies +RUN apt-get update && apt-get install -y \ + ca-certificates \ + libssl3 \ + curl \ + && rm -rf /var/lib/apt/lists/* + +# Copy the binary +COPY --from=builder /app/target/release/makima-server /app/makima-server + +# Copy model download script +COPY makima/sh/download-models.sh /app/download-models.sh +RUN chmod +x /app/download-models.sh + +# Create models directory +RUN mkdir -p /app/models + +# Set default environment variables +ENV PORT=8080 +ENV RUST_LOG=makima=info,tower_http=info +ENV MODELS_DIR=/app/models +ENV PARAKEET_MODEL_DIR=/app/models/parakeet-tdt-0.6b-v3 +ENV PARAKEET_EOU_DIR=/app/models/realtime_eou_120m-v1-onnx +ENV SORTFORMER_MODEL_PATH=/app/models/diarization/diar_streaming_sortformer_4spk-v2.onnx + +EXPOSE 8080 + +# Health check +HEALTHCHECK --interval=30s --timeout=10s --start-period=120s --retries=3 \ + CMD curl -f http://localhost:${PORT}/api/v1/healthcheck || exit 1 + +# Use download script as entrypoint to ensure models exist +ENTRYPOINT ["/app/download-models.sh"] +CMD ["/app/makima-server"] -- cgit v1.2.3