Spaces:
Sleeping
Sleeping
File size: 968 Bytes
0598ebe 19868d6 0598ebe a30fdbb 19868d6 0598ebe 4c53429 19868d6 02bde37 19868d6 31313bf 19868d6 46d9639 0598ebe 46d9639 3f76caf 46d9639 19868d6 3f76caf 31313bf 19868d6 46d9639 19868d6 4c53429 0598ebe 46d9639 3f76caf bd87b84 19868d6 |
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 |
FROM python:3.9
# Switch to root for system installations
USER root
# Install dependencies
RUN apt-get update && apt-get install -y \
git \
&& rm -rf /var/lib/apt/lists/*
# Create non-root user
RUN useradd -m -u 1000 user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH \
PORT=7860
# Clone repository as root
RUN --mount=type=secret,id=Access_key,mode=0444,required=true \
git clone $(cat /run/secrets/Access_key) $HOME/app
# Ensure non-root user has ownership of the cloned files
RUN chown -R user:user $HOME/app
# Set working directory
WORKDIR $HOME/app
# Create necessary directories with correct permissions
RUN mkdir -p uploads temp && \
chown -R user:user uploads temp
# Switch to non-root user
USER user
# Install Python dependencies
RUN pip install --no-cache-dir --upgrade -r requirements.txt
# Expose port 7860
EXPOSE 7860
# Start the application
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
|