Files
2026-09-01 21:51:22 +00:00

36 lines
1.4 KiB
Docker

# syntax=docker/dockerfile:1
FROM scratch AS model-base
# Keep these pinned artifacts in sync with src/text_search/download.rs and the
# release workflow. Registry compression and content-addressing make these
# layers reusable until the model revision changes.
ADD --checksum=sha256:29cc0b2bcf6ff777f2e15742be92b110e4acbdb2068356e862c4637a4b15fe4f \
https://huggingface.co/OFA-Sys/chinese-clip-vit-base-patch16/resolve/f4a64596bbcf9a2a94591b74b9dc39b2e4e77e3e/model.safetensors \
/opt/pixhelf/models/chinese-clip-vit-base-patch16-f4a64596/model.safetensors
ADD --checksum=sha256:45bbac6b341c319adc98a532532882e91a9cefc0329aa57bac9ae761c27b291c \
https://huggingface.co/OFA-Sys/chinese-clip-vit-base-patch16/resolve/f4a64596bbcf9a2a94591b74b9dc39b2e4e77e3e/vocab.txt \
/opt/pixhelf/models/chinese-clip-vit-base-patch16-f4a64596/vocab.txt
FROM model-base
ARG TARGETARCH
ARG VERSION
ARG REVISION
ARG SOURCE_URL
LABEL org.opencontainers.image.title="Pixhelf" \
org.opencontainers.image.description="Self-hosted image gallery" \
org.opencontainers.image.version="${VERSION}" \
org.opencontainers.image.revision="${REVISION}" \
org.opencontainers.image.source="${SOURCE_URL}"
ENV PIXHELF_TEXT_SEARCH_MODEL=/opt/pixhelf/models/chinese-clip-vit-base-patch16-f4a64596
COPY --chmod=0755 dist/pixhelf-${TARGETARCH}-linux /pixhelf
WORKDIR /data
EXPOSE 3002
ENTRYPOINT ["/pixhelf"]