Mesh
A decentralized team communication platform built on the Nostr protocol. Features real-time group chat with NIP-29 compliant relay support.
🏗️ Project Structure
| Directory | Description | Tech Stack |
|---|---|---|
nostr/nostr-team-chat/ |
Mesh web application | Next.js, TypeScript, Nostr |
nostr/groups_relay/ |
NIP-29 compliant groups relay server | Rust |
✨ Features
- Decentralized: Built on Nostr protocol - no central server required
- NIP-29 Groups: Full support for relay-based group chats
- Real-time: Instant message delivery via WebSocket
- Self-hosted: Run your own relay for complete data ownership
- Privacy-focused: Cryptographic identity with Nostr keys
🚀 Quick Start
Prerequisites
- Node.js 18+
- (Optional) Rust toolchain for running your own relay
- (Optional) Docker for containerized relay deployment
Running the Chat App
cd nostr/nostr-team-chat cp .env.example .env.local # Edit .env.local with your relay URL npm install npm run dev
Running Your Own Relay
cd nostr/groups_relay # With Cargo cargo run # Or with Docker docker compose up --build
Relay UI available at http://localhost:8080
🔧 Configuration
Chat App (nostr/nostr-team-chat/.env.example)
# Nostr Relay URL NEXT_PUBLIC_NIP29_RELAY_URL=wss://groups.yourdomain.com # App Configuration NEXT_PUBLIC_APP_NAME=Mesh NEXT_PUBLIC_APP_URL=https://your-domain.com
Relay (nostr/groups_relay/)
See groups_relay/README.md for detailed relay configuration.
� Documentation
- NIP-29 Specification - Relay-based Groups
- Nostr Protocol - Learn about Nostr
- Groups Relay Docs - Relay setup and configuration
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
- Chat App (
nostr/nostr-team-chat/): MIT License - see LICENSE - Groups Relay (
nostr/groups_relay/): AGPL-3.0 - see nostr/groups_relay/LICENSE
🔗 Links
- Nostr Protocol - Decentralized social protocol
- NIP-29 - Groups specification
- Awesome Nostr - Nostr resources