| |
| FROM node:18-slim as build |
| WORKDIR /app |
| COPY frontend/package.json frontend/package-lock.json* ./ |
| RUN npm install |
|
|
| |
| ARG CACHE_BUST=v14 |
| COPY frontend/ . |
| RUN npm run build |
|
|
| |
| FROM python:3.9-slim |
|
|
| |
| RUN useradd -m -u 1000 user |
|
|
| |
| ENV DATA_DIR=/data |
| RUN mkdir -p $DATA_DIR && chown -R user:user $DATA_DIR && chmod 777 $DATA_DIR |
|
|
| |
| USER user |
|
|
| |
| ENV HOME=/home/user \ |
| PATH=/home/user/.local/bin:$PATH |
|
|
| |
| WORKDIR $HOME/app |
|
|
| |
| COPY --chown=user . $HOME/app |
|
|
| |
| ARG CACHE_BUST=v2 |
| COPY --from=build --chown=user /app/dist $HOME/app/frontend/dist |
|
|
| |
| RUN pip install --no-cache-dir --upgrade -r requirements.txt |
|
|
| |
| CMD sh -c "echo 'Starting HHeuristics v2.1...' && uvicorn app:app --host 0.0.0.0 --port 7860 --workers 1" |
|
|