Files
market/docs/deploy.md
zeekay 661a6a28d5 rebrand: Bot Hub → Hanzo Market, white-label via @luxfi/brand schema
- Repo transferred hanzobot/hub → hanzoai/market (matches owned hanzo.market domain)
- npm package: bothub → @hanzoai/market, packages/bothub → packages/market
- bothub-schema → @hanzoai/market-schema
- CLI binary: bothub → market
- Brand: Bot Hub → Hanzo Market across ~95 user-facing surfaces (README, docs, k8s,
  Dockerfile, public/manifest.json, OG image, CLI banner, site config, theme)
- Brand-neutral white-label: src/brand/ owns BrandConfig + BrandTheme + loader,
  public/brands/<id>.json presets for hanzo, zoo, lux, pars, liquidity, generic
- BRAND_ID env at build picks default; ConfigMap-mounted brand.json overrides at runtime
- Legacy paths retained for compat: ~/.bothub, .bothubignore, /.well-known/bothub.json,
  bothub-theme localStorage key, LEGACY_HOSTS for hub.hanzo.bot/clawhub.ai
- Fixed broken sed-replace artifacts in packages/market/src/cli/botConfig.test.ts
- Drops Clawd/OpenClaw dead brand surface, keeps Clawdis* schema types and
  clawd skill directory paths (backward compat for installed bot products)
2026-05-29 13:46:09 -07:00

1.5 KiB
Raw Permalink Blame History

summary, read_when
summary read_when
Deploy checklist: API server + web app + /api routing.
Shipping to production
Debugging /api routing

Deploy

Hanzo Market is three deployables shipped as one image:

  • Web app (TanStack Start / Nitro) on port 3000.
  • API server (Hono) on port 3001.
  • Hanzo Base (collections + storage) on port 8090.

All three are started by docker-entrypoint.sh.

1) Build the image

docker build -t ghcr.io/hanzoai/market:latest .

CI/CD pushes to ghcr.io/hanzoai/market.

2) Configure secrets

K8s manifests are in k8s/. Required secrets in market-secrets:

  • DATABASE_URL (PostgreSQL)
  • IAM_CLIENT_ID (default app-market)
  • IAM_CLIENT_SECRET
  • S3_ACCESS_KEY, S3_SECRET_KEY
  • OPENAI_API_KEY
  • Optional: GITHUB_TOKEN (recommended; raises GitHub account lookup limit used by publish gate)
  • Optional webhook env (see docs/webhook.md)

3) Deploy to K8s

kubectl apply -f k8s/

The ingress routes hanzo.market → service market (port 80 → web, port 3001 → API).

4) Registry discovery

The CLI can discover the API base from:

  • /.well-known/bothub.json (legacy filename retained for older CLIs)

If you don’t serve that file, users must set:

export MARKET_REGISTRY=https://your-site.example

5) Post-deploy checks

curl -i "https://<site>/api/v1/search?q=test"
curl -i "https://<site>/api/v1/skills/gifgrep"

Then:

market login --site https://<site>
market whoami