| # ============================================================ | |
| # PharmAI HuggingFace Docker Space | |
| # R + Python + Node.js ํตํฉ ํ๊ฒฝ | |
| # ============================================================ | |
| FROM rocker/r-ver:4.4.0 | |
| # โโ ์์คํ ํจํค์ง ์ค์น โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| # Python | |
| python3.10 \ | |
| python3-pip \ | |
| python3-dev \ | |
| # Java (rcdk ํจํค์ง ์์กด์ฑ) | |
| default-jdk \ | |
| # R ํจํค์ง ์ปดํ์ผ ์์กด์ฑ | |
| libcurl4-openssl-dev \ | |
| libssl-dev \ | |
| libxml2-dev \ | |
| libgfortran5 \ | |
| libopenblas-dev \ | |
| liblapack-dev \ | |
| build-essential \ | |
| # ๊ธฐํ | |
| curl \ | |
| git \ | |
| ca-certificates \ | |
| gnupg \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Node.js 20 ์ค์น (apt ๊ธฐ๋ณธ ๋ฒ์ ์ ๋๋ฌด ๋ฎ์, Vite ์๊ตฌ์ฌํญ: Node 14.18+) | |
| RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ | |
| && apt-get install -y nodejs \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Java ํ๊ฒฝ ์ค์ (rcdk์ฉ) | |
| RUN R CMD javareconf | |
| # โโ R ํจํค์ง ์ค์น โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| # Posit Package Manager (PPM) - Ubuntu 22.04(Jammy) ๋ฐ์ด๋๋ฆฌ ์ ๊ณต | |
| # ์์ค ์ปดํ์ผ ์์ด ์ค์น๋์ด ๋น๋ ์๊ฐ ๋ํญ ๋จ์ถ | |
| ENV RENV_PPM_URL=https://packagemanager.posit.co/cran/__linux__/jammy/latest | |
| RUN R -e "options(repos = c(PPM = Sys.getenv('RENV_PPM_URL'))); \ | |
| install.packages(c('jsonlite', 'readxl', 'dplyr', 'tidyr', 'ggplot2', \ | |
| 'RColorBrewer', 'gridExtra', 'units', 'utf8', 'progress', \ | |
| 'rxode2', 'ncappc', 'rcdk'), dependencies=TRUE)" | |
| # โโ ์์ ๋๋ ํ ๋ฆฌ ์ค์ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| WORKDIR /app | |
| # โโ Python ํจํค์ง ์ค์น โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| COPY backend/requirements.txt backend/requirements.txt | |
| RUN pip3 install --no-cache-dir -r backend/requirements.txt | |
| # ์ถ๊ฐ: uvicorn, aiofiles, huggingface_hub (๋ชจ๋ธ ๋ค์ด๋ก๋์ฉ) | |
| RUN pip3 install --no-cache-dir "uvicorn[standard]" aiofiles huggingface_hub | |
| # โโ ํ๋ก ํธ์๋ ๋น๋ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| COPY frontend/package.json frontend/package-lock.json* frontend/pnpm-lock.yaml* ./frontend/ | |
| RUN cd frontend && npm install --legacy-peer-deps | |
| COPY frontend/ frontend/ | |
| RUN cd frontend && npm run build | |
| # โโ ์ ์ฒด ์์ค ๋ณต์ฌ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| COPY . . | |
| # โโ ๊ถํ ์ค์ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| RUN chmod +x startup.sh && \ | |
| mkdir -p pbpk_engine/results && \ | |
| chmod -R 777 pbpk_engine/results | |
| # โโ ํฌํธ ๋ ธ์ถ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| EXPOSE 7860 | |
| # โโ ์์ ๋ช ๋ น โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| CMD ["./startup.sh"] | |