1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- ########################################
- # build webui #
- ########################################
- FROM node:14 AS builder
- # copy files
- COPY webui/ /pycs/webui_dev/
- WORKDIR /pycs/webui_dev
- # install packages
- RUN npx browserslist@latest --update-db
- RUN npm install
- # build webui
- RUN npm run build
- ########################################
- # build pycs image #
- ########################################
- FROM python:3.9 AS pycs
- # get the user and group. if not defined, fallback to root
- ARG UID=root
- ARG GID=root
- # copy backend files
- COPY pycs/ /pycs/pycs/
- COPY migrations/ /pycs/migrations/
- COPY app.py /pycs/
- COPY requirements.txt /pycs/
- WORKDIR /pycs/
- RUN mkdir projects db
- RUN chown ${UID}:${GID} projects db
- # copy UI from builder
- COPY --from=builder /pycs/webui_dev/dist /pycs/webui
- # install required libraries for opencv
- RUN apt-get update \
- && apt-get install -y libgl1-mesa-glx ffmpeg libsm6 libxext6
- # install dependencies
- RUN python -m pip install --upgrade pip
- RUN pip install numpy
- RUN pip install -r /pycs/requirements.txt
- # configure start
- USER ${UID}:${GID}
- EXPOSE 5000
- #ENTRYPOINT ["python", "app.py"]
|