From f7c27d5a988dbbb52c9319cb11dd31006da22899 Mon Sep 17 00:00:00 2001 From: Kshitij Date: Tue, 22 Jul 2025 16:43:31 +0530 Subject: [PATCH] Added dockerfile and dockerignore for local AI model. --- models/.dockerignore | 13 +++++++++++++ models/Dockerfile | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 models/.dockerignore create mode 100644 models/Dockerfile diff --git a/models/.dockerignore b/models/.dockerignore new file mode 100644 index 0000000..c091e37 --- /dev/null +++ b/models/.dockerignore @@ -0,0 +1,13 @@ +archive/ +bin/ +Dockerfile +include/ +leaf1.webp +lib/ +lib64 -> lib/ +node_modules/ +package-lock.json +public/ +pyvenv.cfg +samples/ +share/ diff --git a/models/Dockerfile b/models/Dockerfile new file mode 100644 index 0000000..3462d1b --- /dev/null +++ b/models/Dockerfile @@ -0,0 +1,35 @@ +# Base image +FROM node:22 + +# Metadata +LABEL maintainer="kshitijka" +LABEL version=1.1.0 +LABEL description="Crop Compass is a centralized management dashboard designed for farmers, enabling them to efficiently oversee their farms while leveraging advanced AI technology for disease identification and more." + +# Update, upgrade + install python3+req +RUN apt update && apt upgrade -y && \ + apt install -y python3 python3-pip python3.11-venv && \ + apt clean all && rm -rf /var/lib/apt/lists/* + +# Create non-root user +RUN useradd -s /bin/bash nonroot + +# Create working directory +RUN mkdir -p /app +RUN chown -R nonroot:nonroot /app +WORKDIR /app +COPY . . + +# Switch user +USER nonroot + +# Setup virtual env and install stuff +RUN python3 -m venv /app +RUN /app/bin/pip install --no-cache-dir -r requirements.txt +ENV PATH="/app/bin:$PATH" + +# Expose model port +EXPOSE 8081 + +# Run model +CMD ["node", "server.js"]