Example webpage: https://h.hostr.cc/p/2d417bce8c10883803bc427703e3c4c024465c88e7063ed68f9dfeecf56911ac/d/hostr-lp
Nostr Webhost (hostr) is a command-line tool designed for hosting Single Page Applications (SPAs) using the Nostr protocol and its distributed network of relay servers. This tool provides a seamless way to deploy and access your SPA on the Nostr network.
Domain-based authorization mechanisms such as NIP-7 should not currently be used. This is because the event is identified based on the path, so it will authorize other events as well.
To get started with hostr, follow these steps:
go install github.com/studiokaiji/nostr-webhost/hostr@latest
COMMANDS:
deploy 🌐 Deploy nostr website
add-relay 📌 Add nostr relay
remove-relay 🗑 Remove nostr relay
list-relay 📝 List added nostr relays
set-private 🔐 Set private key
show-public 📛 Show public key
generate-key 🗝 Generate key
start 🕺 Wake up web server
help, h Shows a list of commands or help for one command
- Install Nostr Webhost as mentioned above.
- Set or generate private key
If you set private key:
hostr set-private "nsec or hex private key"
Or if you want to generate private key:hostr generate-key
- Add relay
hostr add-relay wss://r.hostr.cc
- Deploy
hostr deploy --path /BUILT/SPA/DIR/PATH --identifier=test
- The
--identifier
option is the identifier (d-tag) for Replaceable Events based on NIP-33. When you update this site, please specify the same identifier. If you want to create a non-replaceable site, you can achieve that by specifying--replaceable=false
. - The event id of index.html will be output after deploy. Please make a copy of it.
- The
- Start test web server
hostr start
- Access the
http://localhost:3000/d/{pubkey_or_npub}e/{nevent-of-index.html}
For detailed information on how to use each command, you can use the help
command followed by the specific command name.
If you encounter any issues or have suggestions for improvement, feel free to contribute to the project on GitHub.
This project is licensed under the MIT. See the LICENSE file for more details.