Shugur is an open-source Nostr relay, a server that receives, stores and forwards signed events between Nostr clients. It is aimed at developers, community operators and anyone who wants to run their own relay rather than depend on a public one. The project is written in Go and uses CockroachDB as its storage layer, which is a deliberate choice for a system meant to be high-performance and scalable.
Because a relay is a server rather than a desktop app, Shugur is best understood as infrastructure. Its natural habitat is a Linux machine or a container, not a Windows desktop. Windows users can still work with it, but the practical path is to build or run it in a Linux environment such as WSL or Docker and point their Nostr clients at the resulting relay address.
What Is a Nostr Relay and Why Run One?
Nostr works differently from most social networks. There is no central server holding all the data. Users sign messages with cryptographic keys and publish them to relays, which are independent servers that store and forward those messages. A client reads a user's posts by asking one or more relays for them.
Running your own relay means you decide what gets stored, how long it stays, and who can reach it. Communities sometimes run a relay for their members, and individuals run one for reliability or privacy. Shugur is built for the operator side of that arrangement.
Who Is Shugur For?
The most natural users are developers building Nostr clients or services who need a relay to test against, and operators who want a dependable relay for a community. It also suits people who already know their way around Linux servers, firewalls and container tools.
Casual users who only want to post and read on Nostr usually do not need a relay of their own. For them, a client app connected to public relays is the simpler route.
How Storage Works Under the Hood
Shugur uses CockroachDB, a distributed SQL database designed to keep data consistent across several nodes. For a relay this matters because events arrive continuously and must be retrieved quickly by filters such as author, kind and time range.
A distributed database adds operational complexity compared with a single-file store. Operators should expect to think about database nodes, storage growth and backups as the relay fills up. The project documentation is the place to confirm the current deployment layout.
Real-World Scenarios for a Self-Hosted Relay
A small community might run a relay so its members have a shared, predictable place to publish. A developer might run one locally to test how a client handles reactions, deletions and long-form posts without touching public infrastructure. An organization might use one to keep internal discussions on its own servers.
In each case the relay's job is the same: accept valid events, check their signatures, store them and answer subscriptions. Choosing sensible limits on event size and rate is part of running it responsibly.
Key features
Broad NIP support
Private direct messages (NIP-17)
Nostr Wallet Connect (NIP-47)
Addressable and replaceable events (NIP-33)
Long-form content (NIP-23)
Delegated event signing (NIP-26)
Supported coins
Shugur's documentation mentions the Lightning Network and Nostr in connection with wallet-related features. Because it is a relay rather than a wallet, it does not hold funds itself; payment flows run between clients and external wallet services that the relay merely carries messages for.
How to install Shugur on Windows
- 1
Get the source or a release
Download the project from the official source code repository on GitHub, or use the Releases page to fetch a packaged build. Only download from the official website or the GitHub repository linked from the project's documentation.
- 2
Prepare a Linux environment
On Windows, the simplest route is Windows Subsystem for Linux with an Ubuntu distribution, or a Docker setup. Update the system packages before continuing so dependencies install cleanly.
- 3
Verify the download
Compare the SHA-256 checksum of the file against the value published with the release, or check the signature if one is provided. A mismatch means the file should not be used.
- 4
Open the required port
The requirements list shows opening port 8080 for TCP with ufw on Linux. Adjust this to match the port your configuration uses, and make sure only the ports you need are exposed.
-
Build or run the relay
Follow the build or container instructions in the project documentation. Start the relay, then confirm it is reachable from a Nostr client by adding its WebSocket address to the client's relay list.
System requirements
- Linux server, with Ubuntu 20.04 or newer recommended
- Minimum of 2 GB RAM, 2 CPU cores and 10 GB of storage
- Recommended of 8 GB RAM, 4 or more CPU cores, SSD storage and a 1 Gbps network connection
- Open TCP port for incoming connections, such as 8080 by default
How to use Shugur
Once the relay is running, you use it through Nostr clients rather than a dedicated interface. The relay itself simply listens for connections and handles events.
A typical first session looks like this:
- Start the relay and confirm it is listening on the port you opened.
- Note its public WebSocket address, including the domain or IP and port.
- In a Nostr client that lets you edit relay settings, add that address to your list of relays.
- Publish a test note and confirm it appears when you query the relay from another client.
- Try a reaction and a direct message to check that the relevant NIPs work end to end.
- Watch the logs and storage usage over the first few days to learn how the relay behaves under your real traffic.
Pros & cons
- Written in Go, a language well suited to network servers
- Uses CockroachDB for a scalable storage design
- Broad coverage of Nostr NIPs, including messaging and wallet connection
- Open source under the MIT license
- Free to use, with the source code publicly available
- Built for server operators, not for casual users
- Requires comfort with Linux, firewalls and container tools
- Distributed database adds operational overhead for small setups
- Windows is not a native target, so a Linux environment is needed
Is Shugur safe?
Shugur is open source under the MIT license, which means you can read the code before you run it. Download it only from the official GitHub repository or the links given in the project documentation, and do not trust copies hosted on unfamiliar sites. Verify the SHA-256 checksum or signature of any packaged release before installing it.
A relay handles signed events rather than private keys, so it should never ask you for a seed phrase or wallet secret. If any page or tool claims otherwise, treat it as a scam. Keep your server updated, expose only the ports you need, and restrict administrative access. Check the project's latest release notes before deploying, since the code changes over time.
- Official source only. Download from github.com/Shugur-Network/relay. Ignore ads and lookalike domains.
- Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
- Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
Alternatives
Most of the other programs in this catalog are Nostr clients: apps such as Amethyst, Vega, Nostrid, Nostrmo and Notedeck let you read and post. Shugur sits on the other side of the protocol. It does not give you a timeline; it gives your clients somewhere to store and fetch events. Prettygood and Blockcore Notes are also user-facing tools, while Shugur is aimed at operators.
If you want to participate in Nostr, a client is the right starting point. If you want to host infrastructure for a community or for development, Shugur is the one to look at. Many people use both: a client on their desktop pointed at a relay they run themselves.
Specifications
- Price
- Free
- Type
- Open source
- License
- MIT
- Latest version
- v1.3.5
- Last update
- 22 Oct 2025
- Windows support
- Likely (builds for Windows; check releases)
- Source code
- github.com/Shugur-Network/relay
Frequently asked questions
No. Shugur is a relay, meaning a server that stores and forwards Nostr events. To post and read, you need a separate Nostr client app that connects to a relay such as Shugur or a public one.
The project is designed for Linux servers. Windows users typically run it through Windows Subsystem for Linux or Docker. Check the official documentation and releases for current build options before you start.
Shugur uses CockroachDB for storage. It is a distributed SQL database, which suits a relay that needs to handle many events and queries, but it also means you should plan for database administration.
It implements a range of NIPs, including private direct messages (NIP-17), reactions (NIP-25), public chat (NIP-28), long-form content (NIP-23), delegated signing (NIP-26) and Nostr Wallet Connect (NIP-47).
The documentation lists a minimum of 2 GB RAM, 2 CPU cores and 10 GB of storage, with 8 GB RAM, 4 or more cores and SSD storage recommended for heavier use. A small personal relay can start on the lower end.
Yes, it is free and released under the MIT license, which allows you to use, modify and redistribute the code under its terms.
Shugur carries messages, including those for Nostr Wallet Connect. It does not hold funds. Payments happen between your client and a separate wallet service on the Lightning Network.
A relay operator can see the events it stores, although private messages remain encrypted. Running your own relay gives you control over retention and access, which is one reason people choose a self-hosted option.
Verdict
Shugur is a solid choice for developers and operators who want a high-performance, open-source Nostr relay with broad protocol coverage. It is not a consumer app, and it does not run as a simple Windows program. If you are comfortable with Linux servers and want to host your own relay, it deserves a look. If you only want to post and read on Nostr, pair a Nostr client with an existing public relay instead.