EthanStanks's picture
Fixing permission issues with Docker container
1c736cd
raw
history blame contribute delete
914 Bytes
FROM ultralytics/ultralytics
# Create a non-root user and group with specific IDs
RUN useradd -m -u 1000 user
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libgtk2.0-dev \
libgl1-mesa-glx \
&& rm -rf /var/lib/apt/lists/*
ENV DEBIAN_FRONTEND=
# Set the working directory
WORKDIR /app
# Copy the application code and change ownership to the 'user'
COPY --chown=user:user . /app
# Install required Python packages
RUN pip install gradio
# Create necessary directories and set ownership to 'user'
RUN mkdir -p /app/videos /app/results && chown -R user:user /app
# Switch to the 'user' account
USER user
EXPOSE 7860
# Environment variables
ENV PYTHONUNBUFFERED=1 \
GRADIO_ALLOW_FLAGGING=never \
GRADIO_NUM_PORTS=1 \
GRADIO_SERVER_NAME=0.0.0.0 \
SYSTEM=spaces
# Command to run the application
CMD ["python", "app.py"]