Spaces:
Runtime error
Runtime error
Update Dockerfile
Browse files- Dockerfile +15 -12
Dockerfile
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
-
#
|
| 2 |
FROM rust:latest AS builder
|
| 3 |
|
| 4 |
-
# Pasang dependency sistem yang diperlukan
|
| 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-
|
| 13 |
&& rm -rf /var/lib/apt/lists/*
|
| 14 |
|
| 15 |
WORKDIR /app
|
| 16 |
|
| 17 |
-
# Salin semua fail
|
| 18 |
-
# Pastikan path ini betul mengikut struktur repo awak
|
| 19 |
COPY . .
|
| 20 |
|
| 21 |
-
# Masuk ke folder
|
| 22 |
WORKDIR /app/rust-port/wifi-densepose-rs
|
| 23 |
|
| 24 |
-
# Build
|
| 25 |
RUN cargo build --release
|
| 26 |
|
| 27 |
-
# ---
|
| 28 |
FROM debian:bookworm-slim
|
| 29 |
|
| 30 |
-
# Pasang library
|
| 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 |
-
#
|
| 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
|
| 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"]
|