I’ve been doing quite a bit of digging into hashstore behavior lately, especially around reclaimable space and compaction not keeping up.
To make analysis easier (and more reproducible), I put together:
-
A minimal Docker image for STBB
bitctrlnl/storj-stbb - Docker Image
(based on Elek’s work and resources:
Hashstore Migration Guide
https://youtu.be/87zG_pzuxNE
GitHub - elek/stbb · GitHub ) -
A helper script to scan and analyze all hashstores in a Storj node setup
GitHub - bitctrlnl/storj-stbb-docker: Minimal Docker image for STBB (Storj hashstore analysis tool) · GitHub -
A simple web tool to analyze STBB output and suggest compaction settings:
https://storjplayground.bitctrl.nl/
(Static HTML, calculations happen client side)
Suggested settings:
–hashstore.compaction.alive-fraction float
–hashstore.compaction.probability-power float
–hashstore.compaction.rewrite-multiple float
What this does
The script will:
- Detect Storj containers (docker-compose based)
- Optionally stop them safely
- Run STBB against all hashstores (per satellite)
- Generate reports (stat / logs / etc.)
- Restart containers afterwards
This made it a lot easier for me to get a clearer picture of:
- How much data is actually reclaimable
- How “alive” the log files are
- Whether compaction settings are realistic
This is a technical tool, not a polished UI…
Why I built this??
The dashboard doesn’t always reflect what’s actually happening inside hashstore.
Using STBB directly gives much better insight, but:
Running it manually across multiple nodes/satellites is tedious
reading all logs manually is… not great
This setup just automates that workflow.
If anyone has suggestions or improvements, feel free.



