viz-engine / Dockerfile
Godswill-IoT's picture
Upload 17 files
00432d4 verified
FROM python:3.11-slim
# Prevent interactive prompts
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies (Tesseract OCR)
RUN apt-get update && apt-get install -y \
tesseract-ocr \
libgl1 \
libglib2.0-0 \
&& rm -rf /var/lib/apt/lists/*
# Set up a new user named "user" with user ID 1000
RUN useradd -m -u 1000 user
# Switch to the "user" user
USER user
# Set home to the user's home directory
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
# Set the working directory to the user's home directory
WORKDIR $HOME/app
# Upgrade pip as the user
RUN pip install --no-cache-dir --upgrade pip setuptools wheel
# Copy requirements and install dependencies
COPY --chown=user requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy the application code
COPY --chown=user app/ ./app/
# Expose port 7860 (HF Spaces default)
EXPOSE 7860
# Run the application on port 7860
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]