Spaces:
Runtime error
Runtime error
| # ============================================================================ | |
| # Dockerfile untuk Deployment | |
| # ============================================================================ | |
| FROM rocker/r-ver:4.5.0 | |
| # Install system dependencies | |
| # Pasang dependensi sistem Linux yang dibutuhkan | |
| RUN apt-get update && apt-get install -y \ | |
| libcurl4-openssl-dev \ | |
| libssl-dev \ | |
| libxml2-dev \ | |
| libfontconfig1-dev \ | |
| libharfbuzz-dev \ | |
| libfribidi-dev \ | |
| libfreetype6-dev \ | |
| libpng-dev \ | |
| libtiff5-dev \ | |
| libjpeg-dev \ | |
| cmake \ | |
| libpq-dev \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Set working directory | |
| WORKDIR /app | |
| # Install R packages | |
| # RUN R -e "install.packages(c( \ | |
| # 'tidymodels', \ | |
| # 'vetiver', \ | |
| # 'pins', \ | |
| # 'plumber', \ | |
| # 'ranger', \ | |
| # 'httr', \ | |
| # 'jsonlite', \ | |
| # 'dplyr', \ | |
| # 'ggplot2' \ | |
| # ), repos='https://cloud.r-project.org/')" | |
| # 5. Salin semua file dari proyek lokal Anda ke dalam kontainer | |
| COPY . . | |
| # COPY renv.lock ./ | |
| # RUN R -e "install.packages('renv'); renv::restore()" | |
| # Pasang paket R versi biner (Cepat dan Anti-Gagal Kompilasi) | |
| # Kita menggunakan repositori 'noble' karena rocker:4.5.0 berbasis Ubuntu 24.04 | |
| RUN R -e "options(repos = c(CRAN = 'https://packagemanager.posit.co/cran/__linux__/noble/latest')); install.packages(c('plumber', 'vetiver', 'pins', 'DBI', 'RPostgres', 'jsonlite', 'dotenv', 'purrr', 'dplyr', 'ranger', 'tidymodels', 'httr2'))" | |
| # 6. Atur hak akses agar kontainer bisa menulis file (misal saat mengunduh model) | |
| RUN chmod -R 777 /app | |
| # 7. Berikan instruksi port dinamis (Hugging Face default adalah 7860) | |
| ENV PORT=7860 | |
| EXPOSE 7860 | |
| # 8. Jalankan eksekusi API Server menggunakan skrip yang sudah kita buat | |
| CMD ["R", "-e", "source('run_backend.R')"] | |