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

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +15 -12
Dockerfile CHANGED
@@ -1,7 +1,7 @@
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 \
@@ -9,45 +9,48 @@ RUN apt-get update && apt-get install -y \
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"]
 
1
+ # --- STAGE 1: Peringkat Pembinaan (Builder) ---
2
  FROM rust:latest AS builder
3
 
4
+ # Pasang dependency sistem yang diperlukan (Dah dibetulkan nama gdk-pixbuf)
5
  RUN apt-get update && apt-get install -y \
6
  pkg-config \
7
  libgtk-3-dev \
 
9
  libcairo2-dev \
10
  libpango1.0-dev \
11
  libatk1.0-dev \
12
+ libgdk-pixbuf-2.0-dev \
13
  && rm -rf /var/lib/apt/lists/*
14
 
15
  WORKDIR /app
16
 
17
+ # Salin semua fail dari repo
 
18
  COPY . .
19
 
20
+ # Masuk ke folder projek Rust
21
  WORKDIR /app/rust-port/wifi-densepose-rs
22
 
23
+ # Build aplikasi dalam mode release (Ini ambil masa lama sikit, rehat jap)
24
  RUN cargo build --release
25
 
26
+ # --- STAGE 2: Peringkat Larian (Runtime) ---
27
  FROM debian:bookworm-slim
28
 
29
+ # Pasang library yang diperlukan untuk aplikasi berjalan sahaja
30
  RUN apt-get update && apt-get install -y \
31
  libgtk-3-0 \
32
  libglib2.0-0 \
33
  libcairo2 \
34
  libv4l-dev \
35
+ libgdk-pixbuf-2.0-0 \
36
+ ca-certificates \
37
  && rm -rf /var/lib/apt/lists/*
38
 
39
  WORKDIR /app
40
 
41
+ # Salin file executable yang dah siap dari stage builder
42
  COPY --from=builder /app/rust-port/wifi-densepose-rs/target/release/wifi-densepose-rs .
43
 
44
+ # Konfigurasi Environment (Guna Database Render awak)
45
  ENV HOST=0.0.0.0
46
  ENV PORT=7860
47
  ENV DATABASE_URL=postgresql://rfnsyhmi_ruview_user:nsPvyysA6DRrXCR8dSRukByoILm3IlBT@dpg-d7j0jjugvqtc739hhl9g-a/rfnsyhmi_ruview
48
  ENV MOCK_HARDWARE=true
49
  ENV MOCK_POSE_DATA=true
50
+ ENV ENVIRONMENT=production
51
 
52
+ # Hugging Face Spaces perlukan port 7860
53
  EXPOSE 7860
54
 
55
+ # Jalankan aplikasi
56
  CMD ["./wifi-densepose-rs"]