A hancho is the technical manager or team leader (Japanese: chô) in one part of the process or a small group (Japanese: han).
bento-hancho is a middleware for Bento clusters to improve scalability, performance, and reliability.
For more information refer to the design document.
docker run -d \
-p 8081:8081 \
-v ./hancho:/data \
-e S3_URL=<s3-endpoint> \
-e S3_BUCKET=<bucket-name> \
-e S3_ACCESS_KEY=<access-key> \
-e S3_SECRET_KEY=*** \
-e S3_EXTERNAL_URL=<public-s3-url> \
ghcr.io/zerokrab/bento-hancho \
--db /data/hancho.db --bind-addr 0.0.0.0:8081S3_EXTERNAL_URL is optional. Set it when MinIO and Hancho share a host that is not directly reachable by external clients — Hancho will rewrite S3 URLs in API responses to use the public base URL instead of the internal MinIO address.
Set the required S3 environment variables, then run:
cargo build --release -p hancho
S3_URL=<your-s3-or-minio-endpoint> \
S3_BUCKET=<bucket-name> \
S3_ACCESS_KEY=<access-key> \
S3_SECRET_KEY=<secret-key> \
./target/release/hancho --db hancho.db| Flag | Default | Description |
|---|---|---|
--bind-addr |
0.0.0.0:8081 |
Bind address and port for the REST API |
--db |
hancho.db |
Path to SQLite database file |
--poll-interval |
10 | Poll interval in seconds for worker job status |
--timeout-multiplier |
2.0 |
Multiplier applied to estimated job duration to set timeout |
--max-retries |
3 | Maximum number of attempts per request (including first run) |
--s3-external-url |
(none) | Rewrite S3 URLs in responses to use this base URL instead of the internal S3 address. Useful when MinIO and Hancho share a host unreachable by external clients. The value must be a valid URL; Hancho will fail to start if it is not. Can also be set via S3_EXTERNAL_URL. |
--json |
false |
Emit logs in JSON format |
| Variable | Default | Description |
|---|---|---|
S3_URL |
(required) | S3 / MinIO endpoint URL |
S3_BUCKET |
(required) | S3 / MinIO bucket name |
S3_ACCESS_KEY |
(required) | S3 / MinIO access key |
S3_SECRET_KEY |
(required) | S3 / MinIO secret key |
S3_REGION |
us-west-2 |
S3 region (any value when using MinIO) |
S3_EXTERNAL_URL |
(none) | Equivalent to --s3-external-url. If set, Hancho rewrites S3 URLs in responses to use this base URL. Must be a valid URL or Hancho will fail to start. |
- Design document — Architecture planning document for Hancho
- Bento API — Reference for the Bento REST API
- Worker API — Worker registration and management endpoints
- Metrics and dashboards — Prometheus metrics and Grafana dashboards