mrf-syr commited on
Commit
008795b
·
verified ·
1 Parent(s): fde5f53

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +53 -0
Dockerfile ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Gunakan image Rust rasmi
2
+ FROM rust:latest AS builder
3
+
4
+ # Pasang dependency sistem yang diperlukan untuk GDK/GTK
5
+ RUN apt-get update && apt-get install -y \
6
+ pkg-config \
7
+ libgtk-3-dev \
8
+ libglib2.0-dev \
9
+ libcairo2-dev \
10
+ libpango1.0-dev \
11
+ libatk1.0-dev \
12
+ libgdk-pixbuf2.0-dev \
13
+ && rm -rf /var/lib/apt/lists/*
14
+
15
+ WORKDIR /app
16
+
17
+ # Salin semua fail projek
18
+ # Pastikan path ini betul mengikut struktur repo awak
19
+ COPY . .
20
+
21
+ # Masuk ke folder yang ada Cargo.toml
22
+ WORKDIR /app/rust-port/wifi-densepose-rs
23
+
24
+ # Build projek dalam mode release
25
+ RUN cargo build --release
26
+
27
+ # --- Stage Runtime ---
28
+ FROM debian:bookworm-slim
29
+
30
+ # Pasang library runtime di image akhir
31
+ RUN apt-get update && apt-get install -y \
32
+ libgtk-3-0 \
33
+ libglib2.0-0 \
34
+ libcairo2 \
35
+ libv4l-dev \
36
+ && rm -rf /var/lib/apt/lists/*
37
+
38
+ WORKDIR /app
39
+
40
+ # Salin file executable dari stage builder
41
+ COPY --from=builder /app/rust-port/wifi-densepose-rs/target/release/wifi-densepose-rs .
42
+
43
+ # Set environment variables (Ganti dengan URL DB awak yang tadi)
44
+ ENV HOST=0.0.0.0
45
+ ENV PORT=7860
46
+ ENV DATABASE_URL=postgresql://rfnsyhmi_ruview_user:nsPvyysA6DRrXCR8dSRukByoILm3IlBT@dpg-d7j0jjugvqtc739hhl9g-a/rfnsyhmi_ruview
47
+ ENV MOCK_HARDWARE=true
48
+ ENV MOCK_POSE_DATA=true
49
+
50
+ # Hugging Face Spaces guna port 7860 secara default
51
+ EXPOSE 7860
52
+
53
+ CMD ["./wifi-densepose-rs"]