egg-api-gif / Dockerfile
mmdhx's picture
Update Dockerfile
15e4dab verified
FROM node:latest
# 添加 Python3 和相关工具
RUN apt-get update && apt-get install -y python3 python3-pip python3.11-venv
# 安装必要的工具和依赖包
RUN apt-get update && apt-get install -y \
build-essential \
python-is-python3 \
cmake \
git \
ffmpeg \
libavcodec-dev \
libavformat-dev \
libswscale-dev \
libopencv-dev \
v4l-utils \
libv4l-dev \
libgtk2.0-dev \
pkg-config \
gstreamer1.0-tools \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav
# 添加 node-gyp 全局
RUN npm install -g node-gyp
# 创建工作目录并克隆 OpenCV 的源码库
WORKDIR /app
RUN git clone https://github.com/opencv/opencv.git ./opencv
# 切换到 build 目录进行配置与编译
WORKDIR /app/build
RUN cmake -D WITH_FFMPEG=ON -D WITH_GSTREAMER=ON -D WITH_V4L=ON -D WITH_LIBV4L=ON -D WITH_GTK=ON -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ../opencv
# 使用并行编译进程
RUN make -j$(nproc)
RUN make install
# 全部复制到工作目录
COPY . .
# 安装依赖
RUN npm install
RUN npm install serve-static
# 暴露端口
EXPOSE 7860
# 运行
CMD ["node","egg-api"]