Bouquet is a web app for managing media blobs across Blossom and NIP-96 servers. It supports upload, browsing, deletion, and server-to-server sync workflows.
- Upload files to one or more servers
- Browse blobs by server, including a virtual
All serversview - Delete blobs from selected servers (including multi-server delete from
All servers) - Sync missing blobs from one server to another
- Manage Blossom and NIP-96 servers in-app
- React 18 + TypeScript + Vite
- TanStack Query
- Radix UI primitives + local UI components
- Tailwind CSS
- Nostr tooling (
nostr-tools, Applesauce stack)
- Node.js 20+ recommended
- npm 10+ recommended
Install dependencies:
npm installStart the dev server:
npm run devBuild production assets:
npm run buildRun lint checks:
npm run lintPreview production build locally:
npm run previewnpm run devstart Vite dev servernpm run buildtype-check and production buildnpm run lintlint TypeScript/React codenpm run previewpreview built appnpm run formatrun Prettier onsrc/npm run analyzeinspect bundle composition
nsite-cliwas removed from dependencies and scripts.- Security audit currently reports
0 vulnerabilitiesin this workspace. - There are known lint warnings that do not block build output; see
RELEASE_CHECKLIST.md.
See README.Docker.md for container build and run instructions.