12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- ########################################
- # build webui #
- ########################################
- FROM node:14 AS builder
- # copy files
- COPY models/ /pycs/models/
- COPY labels/ /pycs/labels/
- COPY pycs/ /pycs/pycs/
- COPY webui/ /pycs/webui_dev/
- COPY app.py /pycs/
- COPY settings.json /pycs/
- # install packages
- RUN cd /pycs/webui_dev/ \
- && npm install
- # build webui
- RUN cd /pycs/webui_dev/ \
- && npm run build
- # move dist folder to webui
- RUN cd /pycs/ \
- && mv webui_dev/dist/ webui/ \
- && rm -rf webui_dev/
- ########################################
- # build pycs image #
- ########################################
- FROM python:3.9
- # copy from builder
- COPY --from=builder /pycs/ /pycs/
- # install required libraries for opencv
- RUN apt-get update \
- && apt-get install -y libgl1-mesa-glx ffmpeg libsm6 libxext6
- # create venv and install dependencies
- RUN cd /pycs/ \
- && python -m venv venv \
- && ./venv/bin/pip install numpy opencv-python Pillow scipy \
- && ./venv/bin/pip install eventlet flask python-socketio
- # configure start
- EXPOSE 5000
- WORKDIR /pycs/
- ENTRYPOINT ["./venv/bin/python", "app.py"]
|