12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- # base image
- FROM python:3.8.12
- LABEL org.opencontainers.image.source https://github.com/serengil/deepface
- # -----------------------------------
- # create required folder
- RUN mkdir /app
- RUN mkdir /app/deepface
- # -----------------------------------
- # switch to application directory
- WORKDIR /app
- # -----------------------------------
- # update image os
- # Install system dependencies
- RUN apt-get update && apt-get install -y \
- ffmpeg \
- libsm6 \
- libxext6 \
- libhdf5-dev \
- && rm -rf /var/lib/apt/lists/*
- # -----------------------------------
- # Copy required files from repo into image
- COPY ./deepface /app/deepface
- # even though we will use local requirements, this one is required to perform install deepface from source code
- COPY ./requirements.txt /app/requirements.txt
- COPY ./requirements_local /app/requirements_local.txt
- COPY ./package_info.json /app/
- COPY ./setup.py /app/
- COPY ./README.md /app/
- COPY ./entrypoint.sh /app/deepface/api/src/entrypoint.sh
- # -----------------------------------
- # if you plan to use a GPU, you should install the 'tensorflow-gpu' package
- # RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org tensorflow-gpu
- # if you plan to use face anti-spoofing, then activate this line
- # RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org torch==2.1.2
- # -----------------------------------
- # install deepface from pypi release (might be out-of-date)
- # RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org deepface
- # -----------------------------------
- # install dependencies - deepface with these dependency versions is working
- RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org -r /app/requirements_local.txt
- # install deepface from source code (always up-to-date)
- RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org -e .
- # -----------------------------------
- # some packages are optional in deepface. activate if your task depends on one.
- # RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org cmake==3.24.1.1
- # RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org dlib==19.20.0
- # RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org lightgbm==2.3.1
- # -----------------------------------
- # environment variables
- ENV PYTHONUNBUFFERED=1
- # -----------------------------------
- # run the app (re-configure port if necessary)
- WORKDIR /app/deepface/api/src
- EXPOSE 5000
- # CMD ["gunicorn", "--workers=1", "--timeout=3600", "--bind=0.0.0.0:5000", "app:create_app()"]
- ENTRYPOINT [ "sh", "entrypoint.sh" ]
|