# ── J-Wash Docker image ────────────────────────────────────────────────────── # Requires an NVIDIA GPU with CUDA 12.4+ drivers on the host. # docker build -t j-wash . # docker run --gpus all -p 8381:8381 -v ./data:/app/data -v ./hf_cache:/app/hf_cache j-wash FROM nvidia/cuda:12.4.1-runtime-ubuntu22.04 AS base SHELL ["/bin/bash", "-c"] RUN apt-get update && apt-get install -y --no-install-recommends \ python3.11 python3.11-dev python3-pip python3-venv \ git curl ca-certificates \ && rm -rf /var/lib/apt/lists/* RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ && apt-get install -y nodejs \ && rm -rf /var/lib/apt/lists/* RUN python3.11 -m venv /venv ENV PATH="/venv/bin:$PATH" WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir torch --index-url https://download.pytorch.org/whl/cu124 RUN git clone https://github.com/anthropics/jacobian-lens vendor/jacobian-lens \ && pip install -e vendor/jacobian-lens RUN pip install --no-cache-dir -r requirements.txt COPY ui/package.json ui/package-lock.json ui/ RUN cd ui && npm ci COPY . . RUN cd ui && npm run build ENV HF_HOME=/app/hf_cache ENV JWASH_DATA_DIR=/app/data EXPOSE 8381 VOLUME ["/app/data", "/app/hf_cache", "/app/lenses"] ENTRYPOINT ["python3.11", "-X", "utf8", "run.py"]