File size: 1,007 Bytes
6b285c0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# --- Build Stage ---
FROM rust:1.80-slim as builder

WORKDIR /usr/src/app

# Install build dependencies
RUN apt-get update && apt-get install -y \
    pkg-config \
    libssl-dev \
    cmake \
    g++ \
    && rm -rf /var/lib/apt/lists/*

# Copy source code and config
COPY . .

# Build for release
RUN cargo build --release

# --- Run Stage ---
FROM debian:bookworm-slim

WORKDIR /usr/src/app

# Install runtime dependencies (Mesa/Vulkan for wgpu fallback)
RUN apt-get update && apt-get install -y \
    ca-certificates \
    libssl3 \
    libvulkan1 \
    mesa-vulkan-drivers \
    libfontconfig1 \
    && rm -rf /var/lib/apt/lists/*

# Copy the binary from builder
COPY --from=builder /usr/src/app/target/release/rust_auto_score_engine /usr/local/bin/dartvision

# Copy assets
COPY --from=builder /usr/src/app/static ./static
COPY --from=builder /usr/src/app/model_weights.bin ./model_weights.bin

# Environment variables for HF Spaces
ENV PORT=7860
EXPOSE 7860

# Run the GUI
CMD ["dartvision", "gui"]