GeoMate_v3.0 / Dockerfile
MSU576's picture
Update Dockerfile
310c582 verified
raw
history blame
919 Bytes
# Stage 1: build frontend
FROM node:18-bullseye as frontend-builder
WORKDIR /frontend
COPY frontend/package.json frontend/package-lock.json* /frontend/
RUN npm install --legacy-peer-deps
COPY frontend/ /frontend/
RUN npm run build
# Stage 2: python runtime
FROM python:3.10-slim
ENV PYTHONUNBUFFERED=1
WORKDIR /app
# Install system deps (tesseract for OCR)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
tesseract-ocr \
libgl1 \
libsndfile1 \
poppler-utils \
&& rm -rf /var/lib/apt/lists/*
# Copy backend
COPY backend/requirements.txt /app/
RUN pip install --no-cache-dir -r /app/requirements.txt
COPY backend/app /app/app
# Copy frontend build into static folder
COPY --from=frontend-builder /frontend/build /app/frontend_build
# Expose port and run
EXPOSE 7860
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1"]