Spaces:
Sleeping
Sleeping
| FROM python:3.12 | |
| ARG CACHEBUSTER=9 | |
| RUN echo "Cache busting: ${CACHEBUSTER}" | |
| # Install git | |
| RUN apt-get update && apt-get install -y git | |
| # Copy uv from astral-sh image | |
| COPY --from=ghcr.io/astral-sh/uv:0.4.20 /uv /bin/uv | |
| # Set up a new user named "user" | |
| RUN useradd -m -u 1000 user | |
| ENV PATH="/home/user/.local/bin:$PATH" | |
| ENV UV_SYSTEM_PYTHON=1 | |
| # Create work directory | |
| WORKDIR /app | |
| # Clone the private repo using the GitHub token | |
| # We'll use build arguments and ARGs to pass the token | |
| ARG REPO_URL="github.com/Jhsmit/instagibbs.git" | |
| ARG CACHEBUSTER | |
| # The secret 'github_token' must be provided during the build | |
| RUN --mount=type=secret,id=GITHUB_TOKEN \ | |
| git clone https://$(cat /run/secrets/GITHUB_TOKEN)@${REPO_URL} instagibbs | |
| # clone the datasets repo | |
| RUN git clone https://github.com/Jhsmit/HDXMS-database | |
| # Install requirements | |
| WORKDIR /app/instagibbs | |
| ADD "https://www.random.org/cgi-bin/randbyte?nbytes=10&format=h" skipcache | |
| RUN git pull | |
| # install bleeding edge hdxms-datasets | |
| RUN uv pip install "git+https://github.com/Jhsmit/hdxms-datasets" | |
| RUN uv pip install -e . | |
| # Switch to non-root user | |
| USER user | |
| # Run the app | |
| CMD ["solara", "run", "instagibbs/web/app.py", "--production", "--host", "0.0.0.0", "--port", "7860"] | |