Spaces:
Build error
Build error
FROM ubuntu:22.04 | |
# The site space name must be passed as an environment variable | |
# https://huggingface.co/docs/hub/spaces-sdks-docker#buildtime | |
ARG STATIC_SPACE | |
# Install Node.js 22 - https://github.com/nodesource/distributions?tab=readme-ov-file#installation-instructions-deb | |
RUN apt update | |
RUN apt install -y curl | |
RUN curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh | |
RUN bash nodesource_setup.sh | |
RUN apt install -y nodejs | |
# Build the app | |
WORKDIR /tmp/app | |
COPY svelte-demo/ ./ | |
RUN npm ci | |
RUN npm rebuild | |
RUN npm run build | |
# Install Python 3 and huggingface_hub | |
WORKDIR /tmp/python | |
RUN apt install -y python3 python3-pip | |
RUN pip install --upgrade "huggingface_hub[cli]" | |
# Replace the site space with the new build | |
RUN mv /tmp/app/dist /tmp/space | |
WORKDIR /tmp/space | |
# The Hugging Face token must be passed as a secret (https://huggingface.co/docs/hub/spaces-sdks-docker#buildtime) | |
# 1. get README.md from the site space | |
RUN --mount=type=secret,id=HF_TOKEN,mode=0444,required=true huggingface-cli download --token=$(cat /run/secrets/HF_TOKEN) --repo-type=space --local-dir=. $STATIC_SPACE README.md | |
RUN rm -rf ./.cache | |
# 2. upload the new build to the site space, including README.md | |
RUN --mount=type=secret,id=HF_TOKEN,mode=0444,required=true huggingface-cli upload --token=$(cat /run/secrets/HF_TOKEN) --repo-type=space $STATIC_SPACE /tmp/space . --delete "*" | |
# Halt execution because the code space is not meant to run. | |
RUN exit 1 | |