|
|
FROM debian:stable-slim |
|
|
|
|
|
|
|
|
LABEL maintainer="huggingface-spaces" |
|
|
LABEL description="Universal HF Docker Template" |
|
|
|
|
|
|
|
|
COPY scripts/install/ /tmp/install/ |
|
|
|
|
|
|
|
|
RUN chmod +x /tmp/install/*.sh |
|
|
|
|
|
RUN /tmp/install/base-install.sh |
|
|
|
|
|
RUN for script in /tmp/install/*.sh; do \ |
|
|
if [ "$(basename "$script")" != "base-install.sh" ]; then \ |
|
|
echo "Running installation script: $(basename "$script")"; \ |
|
|
"$script"; \ |
|
|
fi; \ |
|
|
done |
|
|
|
|
|
|
|
|
RUN rm -rf /tmp/install* |
|
|
|
|
|
|
|
|
RUN if id -u 1000 >/dev/null 2>&1; then \ |
|
|
usermod -l user $(id -un 1000) && \ |
|
|
usermod -d /home/user -m user; \ |
|
|
else \ |
|
|
useradd -m -u 1000 user; \ |
|
|
fi && \ |
|
|
mkdir -p /home/user/config /home/user/data && \ |
|
|
chown -R 1000:1000 /home/user |
|
|
|
|
|
|
|
|
USER user |
|
|
|
|
|
|
|
|
ENV HOME=/home/user \ |
|
|
PATH=/home/user/.local/bin:$PATH |
|
|
|
|
|
|
|
|
WORKDIR $HOME |
|
|
|
|
|
|
|
|
RUN mkdir -p /home/user/config /home/user/data /home/user/log \ |
|
|
/home/user/.cache/huggingface /home/user/download /home/user/temp |
|
|
|
|
|
|
|
|
COPY --chown=user:user scripts/ /home/user/script/ |
|
|
COPY --chown=user:user configs/ /home/user/config/ |
|
|
|
|
|
|
|
|
RUN find /home/user/script -name "*.sh" -exec chmod +x {} \; |
|
|
|
|
|
|
|
|
|
|
|
EXPOSE 8008 |
|
|
|
|
|
|
|
|
COPY --chown=user:user docker-entrypoint.sh /home/user/docker-entrypoint.sh |
|
|
RUN chmod +x /home/user/docker-entrypoint.sh |
|
|
|
|
|
|
|
|
CMD ["/home/user/docker-entrypoint.sh"] |