Grabber-In-Tanstack / README.md
launch-calcium's picture
Upload folder using huggingface_hub
a35961c verified
|
Raw
History Blame Contribute Delete
2.18 kB
---
title: Imageboard Grabber
emoji: 🖼️
colorFrom: indigo
colorTo: purple
sdk: docker
app_port: 7860
pinned: false
---
# Imageboard Grabber
Booru-style imageboard grabber (inspired by Bionus/Grabber): tag search, thumbnail grid, multi-select, server-side batch ZIP download. Ships with **e621** preconfigured and a **schema-based "Add site" panel** for Danbooru/Gelbooru/Safebooru/etc.
## Features
- **Tag exclusion on ZIP download:** Specify custom tags to filter out of the compiled ZIP's `.txt` tag list and markdown meta files.
- **Direct Hugging Face dataset upload:** Enter your Hugging Face write token and desired dataset repository name to instantly package and upload your compiled archives to a Hugging Face dataset. Creates the dataset automatically if it does not already exist.
## Run locally with Docker
```bash
docker build -t grabber .
docker run --rm -p 7860:7860 grabber
```
Then open http://localhost:7860.
## Deploy to Hugging Face Spaces
1. Push this repo to GitHub (Lovable → GitHub sync, or `git push`).
2. Create a new Space on Hugging Face → **SDK: Docker**.
3. Link the GitHub repo (or add the Space as a remote and push).
The frontmatter above tells HF Spaces to build the `Dockerfile` and serve on port `7860`.
## Adding a custom site
Click **+ Add site** and paste the site's API schema:
- **Base URL / Search Path** — e.g. `https://danbooru.donmai.us` + `/posts.json`
- **Param names** for tags / page / limit
- **JSON path** to the posts array (empty = root)
- **Field mappings** (dotted paths) for `id`, `previewUrl`, `fileUrl`, `ext`, `tags`, `source`, `rating`, `score`
Example (Danbooru):
```
baseUrl: https://danbooru.donmai.us
searchPath: /posts.json
postsPath: (empty)
fields.id: id
fields.previewUrl: preview_file_url
fields.fileUrl: file_url
fields.ext: file_ext
fields.tags: tag_string_general
fields.source: source
fields.rating: rating
fields.score: score
```
## Tech
- TanStack Start (React 19, Vite 7) + Tailwind v4 + shadcn/ui
- Server-side image fetching and streaming ZIP via `fflate`
- Node server build via nitro `node-server` preset