Spaces:
Running
Running
FROM ubuntu:24.04 | |
ENV DEBIAN_FRONTEND=noninteractive \ | |
TZ=Europe/Paris | |
# Copy setup script (root install) | |
COPY setup.sh /root/setup.sh | |
RUN chmod +x /root/setup.sh && /root/setup.sh | |
# Create working directory | |
WORKDIR /app | |
# Create non-root user | |
RUN adduser --disabled-password --gecos '' --shell /bin/bash user \ | |
&& chown -R user:user /app \ | |
&& echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user | |
# Home directory permissions | |
ENV HOME=/home/user | |
RUN mkdir -p $HOME/.cache $HOME/.config \ | |
&& chmod -R 777 $HOME | |
# Switch to non-root user | |
USER user | |
WORKDIR $HOME/app | |
# Copy start script | |
COPY --chown=user start.sh /home/user/start.sh | |
RUN chmod +x /home/user/start.sh | |
# Copy app files | |
COPY --chown=user . $HOME/app | |
ENV PYTHONUNBUFFERED=1 \ | |
GRADIO_ALLOW_FLAGGING=never \ | |
GRADIO_NUM_PORTS=1 \ | |
GRADIO_SERVER_NAME=0.0.0.0 \ | |
GRADIO_THEME=huggingface \ | |
SYSTEM=spaces \ | |
SHELL=/bin/bash | |
CMD ["/home/user/start.sh"] | |