82 lines
1.8 KiB
Docker
82 lines
1.8 KiB
Docker
FROM ubuntu:jammy
|
|
|
|
RUN apt-get update \
|
|
&& DEBIAN_FRONTEND=NONINTERACTIVE apt-get upgrade -y
|
|
|
|
RUN DEBIAN_FRONTEND=NONINTERACTIVE apt-get install -y \
|
|
wget \
|
|
pip \
|
|
libgl1 \
|
|
libglib2.0-0 \
|
|
nginx \
|
|
rsync \
|
|
less \
|
|
git \
|
|
sqlite3
|
|
|
|
# Upgrade Node
|
|
RUN wget -qO- https://deb.nodesource.com/setup_18.x | bash -
|
|
|
|
RUN DEBIAN_FRONTEND=NONINTERACTIVE apt-get install -y \
|
|
python2 \
|
|
jhead \
|
|
nodejs \
|
|
jq \
|
|
nano \
|
|
shellinabox \
|
|
nginx \
|
|
curl \
|
|
less
|
|
|
|
# Install the latest npm and npx
|
|
RUN npm install --global npm@latest
|
|
|
|
# Install deepface
|
|
RUN pip install deepface
|
|
RUN pip install piexif
|
|
|
|
# numpy 1.24 deprecated float; deepface is still using it, so we need to
|
|
# install <1.24
|
|
RUN pip install "numpy<1.24"
|
|
|
|
COPY /package*json /website/
|
|
|
|
WORKDIR /website
|
|
RUN npm upgrade && npm install
|
|
|
|
WORKDIR /website/client
|
|
COPY /website/client/package*json /website/client
|
|
RUN npm upgrade && npm install
|
|
|
|
COPY /config/default.json /website/config/default.json
|
|
COPY /*js /website/
|
|
COPY /src /website/src
|
|
COPY /client /website/client
|
|
COPY /scanner /website/scanner
|
|
COPY /server /website/server
|
|
COPY /frontend /website/frontend
|
|
COPY /ketrface /website/ketrface
|
|
|
|
# If not DEVELOPMENT mode, copy production config, else development
|
|
RUN \
|
|
if [[ -z "${DEVELOPMENT}" ]]; then \
|
|
echo "Building PRODUCTION" ; \
|
|
cp /website/server/production.location /etc/nginx/snippets/active.location ; \
|
|
else \
|
|
echo "Building DEVELOPMENT" ; \
|
|
cp /website/server/development.location /etc/nginx/snippets/active.location ; \
|
|
fi
|
|
|
|
# If not DEVELOPMENT mode, then locally build project
|
|
RUN \
|
|
if [[ -z "${DEVELOPMENT}" ]]; then \
|
|
cd /website/client ; \
|
|
npm run build ; \
|
|
fi
|
|
|
|
COPY /scripts /opt/scripts
|
|
|
|
# In DEVELOPMENT mode, entrypoint launches 'npm start'
|
|
COPY /entrypoint.sh /
|
|
CMD [ "/entrypoint.sh" ]
|