Server administration tasks implemented in ShibuDB
# Start server as a background process
shibudb start
# Stop server started via `shibudb start`
shibudb stop
# Override data directory root (defaults to $XDG_DATA_HOME/shibudb or ~/.shibudb)
shibudb start --data-dir /path/to/data
# Set client + management ports (must differ)
shibudb start --port 9090 --management-port 19090
# Bootstrap admin non-interactively on first startup
shibudb start --admin-user admin --admin-password admin
# Set initial connection limit
shibudb start --max-connections 2000
ShibuDB stores runtime files under a single data directory root.
<data-dir>/
lib/
users.json
management_tokens.json
connection_limit.json
<space>/
space.meta.json
data.db / wal.db / index.dat (key-value)
vector_data.db / vector_wal.db / vector_index.faiss (vector)
log/
shibudb.log
run/
shibudb.pid
connection_limit.json persists the last saved connection limit across restarts.lib/.The server exposes an HTTP management API on --management-port (default 5444). All endpoints require a bearer token.
Authorization: Bearer <token>
Tokens are stored in <data-dir>/lib/management_tokens.json.
# Create a long-lived token (admin-only)
shibudb manager --username <admin> --password <pass> generate-token
# List stored tokens
shibudb manager --username <admin> --password <pass> list-tokens
# Delete a stored token
shibudb manager --username <admin> --password <pass> delete-token <token_id>
# Health
curl http://localhost:5444/health -H "Authorization: Bearer <token>"
# Stats
curl http://localhost:5444/stats -H "Authorization: Bearer <token>"
# Get current limit
curl http://localhost:5444/limit -H "Authorization: Bearer <token>"
# Set limit
curl -X PUT http://localhost:5444/limit \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"limit": 2000}'
The shibudb manager command talks to the management API.
shibudb manager --username <admin> --password <pass> status
shibudb manager --username <admin> --password <pass> stats
shibudb manager --username <admin> --password <pass> limit 2000
shibudb manager --username <admin> --password <pass> increase 500
shibudb manager --username <admin> --password <pass> decrease 200
shibudb manager --username <admin> --password <pass> health
The management API supports updating space settings:
shibudb manager ... update-space-settings --segment-rollover-bytes N --max-segments-before-merge N <space>PUT /spaces/settingsImportant behavior:
When the server is stopped, you can rebuild a space index from on-disk data.
shibudb rebuild-index <space_name>
If you use a non-default data directory:
shibudb rebuild-index --data-dir /path/to/data <space_name>