Spaces:
Sleeping
Sleeping
File size: 1,218 Bytes
0daaf05 a7438ba 225dc8e 0daaf05 225dc8e f618b3b b98d409 f618b3b cc3fbd0 225dc8e f618b3b eb2dd81 225dc8e 0465d18 0daaf05 eb2dd81 6263425 aa67972 0daaf05 eb2dd81 0daaf05 eb2dd81 929ab5c eb2dd81 aa67972 318c2a2 eb2dd81 0daaf05 eb2dd81 0daaf05 a7438ba f618b3b 0daaf05 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# Use Python 3.9 slim image as the base
FROM python:3.9-slim
# Install necessary system dependencies
RUN apt-get update && apt-get install -y \
libgl1-mesa-glx \
libglib2.0-0 \
wget \
unzip \
curl \
ca-certificates \
gnupg \
fonts-liberation \
libnss3 \
libxss1 \
libappindicator1 \
libgbm-dev \
libgtk-3-0 \
gcc \
libffi-dev \
libxml2-dev \
libxslt1-dev \
libjpeg-dev \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*
# Set the working directory
WORKDIR /code
# Create necessary directories
RUN mkdir -p /code/uploads /code/chroma_db
# Add and use a non-root user
RUN useradd -ms /bin/sh myuser
# Set ownership and permissions
RUN chown -R myuser:myuser /code && \
chmod -R 755 /code/chroma_db && \
chmod -R 775 /code/uploads
RUN apt-get update && apt-get install -y tesseract-ocr
# Switch to non-root user
USER myuser
# Copy and install Python dependencies
COPY --chown=myuser:myuser ./requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
# Copy the application code
COPY --chown=myuser:myuser . /code
# Default command to run the application
CMD ["python", "app.py"] |