xet-compatible model hub backed by sia storage. the standard hf CLI
works unmodified — set HF_ENDPOINT at a siahub deployment and upload
or download as usual. bytes land on the decentralized sia network
instead of s3.
cp ops/.env.example .env # fill in the blanks
docker compose -f ops/docker-compose.yml --env-file .env up -dservices:
| component | purpose |
|---|---|
siahub-cas |
xet protocol + hf-api-compat endpoints (rust, axum) |
siahub-gateway |
signed-url byte serving + sia range fetch (go) |
siahub-console |
web ui for keys, models, assets, stats (react) |
indexd |
sia chain indexer (siafoundation/indexd) |
postgres / redis |
metadata + rate limits |
console: http://localhost:5173
api: http://localhost:8080
docs: docs.siahub.app
mint an api key on the console /keys page, then:
# upload
HF_TOKEN=<your-key> HF_ENDPOINT=http://localhost:8080 \
hf upload <owner>/<repo> ./files
# download (public repo — no token needed)
HF_ENDPOINT=http://localhost:8080 hf download <owner>/<repo>apache-2.0.