misukisu commited on
Commit
74fa4cd
·
verified ·
1 Parent(s): 419258c

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +7 -6
Dockerfile CHANGED
@@ -1,7 +1,7 @@
1
  # ------------------------------------------------------------------------------
2
- # 1. Builder Stage
3
  # ------------------------------------------------------------------------------
4
- FROM rust:1.80-slim-bookworm AS builder
5
 
6
  WORKDIR /app
7
 
@@ -17,7 +17,7 @@ RUN mkdir src && echo "fn main() {}" > src/main.rs
17
  RUN cargo build --release
18
  RUN rm -rf src
19
 
20
- # Copy real source files and compile binary
21
  COPY src ./src
22
  RUN touch src/main.rs && cargo build --release
23
 
@@ -32,15 +32,15 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
32
  curl \
33
  && rm -rf /var/lib/apt/lists/*
34
 
35
- # Non-root user setup (UID 1000 for Hugging Face Spaces compatibility)
36
  RUN useradd -m -u 1000 appuser
37
 
38
- # Prepare volume storage
39
  RUN mkdir -p /data/index && chown -R appuser:appuser /data
40
 
41
  WORKDIR /app
42
 
43
- # Copy binary from builder
44
  COPY --from=builder /app/target/release/rust-mcp-search /usr/local/bin/rust-mcp-search
45
 
46
  ENV PORT=7860 \
@@ -49,6 +49,7 @@ ENV PORT=7860 \
49
  DATA_DIR=/data/index \
50
  RUST_LOG=info
51
 
 
52
  USER 1000
53
 
54
  EXPOSE 7860
 
1
  # ------------------------------------------------------------------------------
2
+ # 1. Builder Stage (Uses modern Rust 1.x stable with 2024 Edition support)
3
  # ------------------------------------------------------------------------------
4
+ FROM rust:1-slim-bookworm AS builder
5
 
6
  WORKDIR /app
7
 
 
17
  RUN cargo build --release
18
  RUN rm -rf src
19
 
20
+ # Copy real application source code and compile final binary
21
  COPY src ./src
22
  RUN touch src/main.rs && cargo build --release
23
 
 
32
  curl \
33
  && rm -rf /var/lib/apt/lists/*
34
 
35
+ # Non-root user setup (UID 1000 strictly required by Hugging Face Spaces)
36
  RUN useradd -m -u 1000 appuser
37
 
38
+ # Prepare writable storage directory for Tantivy indices
39
  RUN mkdir -p /data/index && chown -R appuser:appuser /data
40
 
41
  WORKDIR /app
42
 
43
+ # Copy compiled binary from builder
44
  COPY --from=builder /app/target/release/rust-mcp-search /usr/local/bin/rust-mcp-search
45
 
46
  ENV PORT=7860 \
 
49
  DATA_DIR=/data/index \
50
  RUST_LOG=info
51
 
52
+ # Switch to non-root user
53
  USER 1000
54
 
55
  EXPOSE 7860