| 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"] |