Skip to content

Repository files navigation

nbread.lol

Nostr-native blogging platform. Your posts are NIP-23 kind 30023 events signed by your key — nbread.lol mirrors them into a fast edge database and renders them beautifully at you.nbread.lol.

  • Own your words: every post is a signed Nostr event; nbread.lol is just a renderer. Take your key elsewhere any time and your blog comes with you.
  • No accounts, no passwords: log in with a NIP-07 browser extension.
  • Fast + minimal: one Cloudflare Worker, server-side rendering, no client-side framework, aggressive edge caching.

Stack

Cloudflare Worker + Static Assets, Hono with hono/jsx SSR, D1 (SQLite) mirror + FTS5 search, KV for sessions, TypeScript strict, Vitest with @cloudflare/vitest-pool-workers.

Development

npm install
npm run dev            # wrangler dev on http://127.0.0.1:8787
npm run typecheck      # tsc --noEmit
npm test               # vitest (Workers pool, real D1/KV bindings)
npm run smoke          # boots wrangler dev and curls the endpoints
npm run migrate:local  # apply D1 migrations to the local database
npm run fixtures       # regenerate committed test fixtures (throwaway keys)

Deployment/DNS setup: see docs/setup.md. Operations (rate limits, WAF, incident notes, deploy gates, blocklist admin): see docs/ops.md. Phase-by-phase build plan: see docs/phases/.

License

Copyright (C) 2026 sovITxyz git@sovit.xyz

AGPL-3.0-only. If you run a modified nbread.lol as a service, you must offer its source to your users.

About

Nostr-native blogging platform on Cloudflare Workers — blogs from NIP-23 long-form events at yourname.nbread.lol. AGPL-3.0

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages