Spaces:
Sleeping
Sleeping
File size: 993 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 7e79fb2 3f76caf 520ad9d 3f76caf bd87b84 520ad9d | 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
RUN mkdir server_storage
# Expose port 7860
EXPOSE 8080
# Start the application
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]
|