Files
CropCompass/Frontend/Dockerfile
T

42 lines
912 B
Docker

# Base image
FROM node:22
# Environment variables
ENV MODEL_URI=http://model:8081
ENV BACKEND_URI=http://backend:8000
# 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 and upgrade
RUN apt update && apt upgrade -y && \
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 . .
RUN echo $BACKEND_URI > /app/.env
# Building frontend
RUN npm install
RUN npm run build
# Install server
RUN npm install -g serve
# Switch user
USER nonroot
# Expose frontend port
EXPOSE 3000
# Run frontend
CMD ["serve", "-s", "/app/dist"]