PersianOCR / backup /dockerfile
Really-amin's picture
Upload 8 files
8e77663 verified
FROM python:3.10-slim
# Prevent interactive prompts during installation
ENV DEBIAN_FRONTEND=noninteractive
# Set environment variables
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
TZ=Asia/Tehran
# Set the timezone
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
tesseract-ocr \
tesseract-ocr-fas \
libtesseract-dev \
libgl1-mesa-glx \
libglib2.0-0 \
libsm6 \
libxext6 \
libxrender-dev \
libpango-1.0-0 \
libpangocairo-1.0-0 \
git \
wget \
curl \
&& rm -rf /var/lib/apt/lists/*
# Create app directory
WORKDIR /app
# Copy requirements first to leverage Docker cache
COPY requirements.txt .
# Install Python dependencies
RUN pip3 install --no-cache-dir -r requirements.txt
# Copy the rest of the application
COPY . .
# Create necessary directories
RUN mkdir -p /app/temp_uploads /app/logs /app/models
# Set user permissions
RUN chown -R 1000:1000 /app
USER 1000
# Expose port
EXPOSE 8000
# Start command with gunicorn
CMD ["gunicorn", "webhook_api:create_api", "--workers", "4", "--worker-class", "uvicorn.workers.UvicornWorker", "--bind", "0.0.0.0:8000"]