LARQL-Explorer / Dockerfile
ghmk's picture
Cache-bust: force fresh binary download (ubuntu-22.04, glibc 2.35)
abbe908
# LARQL Explorer — HuggingFace Space
# Downloads the pre-built Linux binary from the cronos3k/larql GitHub Release.
# No Rust build step: fast image build (~2 min), no compiler toolchain needed.
# Binary source: https://github.com/cronos3k/larql/releases/tag/latest-linux
# Built on: ubuntu-22.04 (glibc 2.35, compatible with Debian bookworm glibc 2.36)
FROM python:3.11-slim-bookworm
# Runtime deps only: libopenblas0 for the larql binary, curl for the download
RUN apt-get update && apt-get install -y \
libopenblas0 curl ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Download the latest pre-built Linux binary from GitHub Releases
# binary-date: 2026-04-14-ubuntu22 (glibc 2.35, cache-bust)
ARG BINARY_DATE=2026-04-14-ubuntu22
RUN echo "Fetching larql binary ${BINARY_DATE}" && curl -fsSL \
https://github.com/cronos3k/larql/releases/download/latest-linux/larql-linux-x86_64 \
-o /usr/local/bin/larql \
&& chmod +x /usr/local/bin/larql
# Copy the Gradio demo app
COPY app.py utils.py requirements.txt /app/
WORKDIR /app
RUN pip install --no-cache-dir -r requirements.txt
# HuggingFace Spaces runs as non-root UID 1000
RUN useradd -m -u 1000 hfuser && mkdir -p /app/models && chown -R hfuser /app
USER hfuser
EXPOSE 7860
ENV GRADIO_SERVER_NAME=0.0.0.0
ENV GRADIO_SERVER_PORT=7860
# app.py downloads the demo vindex from HF dataset on first startup (~480 MB, fast on HF infra)
CMD ["python", "app.py"]