|
|
|
|
|
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" |
|
|
|