Skip to content

TekkadanPlays/mycelium.social

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍄 mycelium.social

A Nostr social platform built with relay.tools, InfernoJS, and Blazecn.

mycelium.social is a complete Nostr relay hosting and social platform. The relay infrastructure is built on relay.tools — an open-source relay management stack — with every user-facing component rewritten using InfernoJS and Blazecn, our shadcn/ui-compatible component library.

Built on relay.tools

The server-side relay infrastructure uses the relay.tools collection of services, each rewritten with a modern InfernoJS + Blazecn frontend:

Service Upstream What we changed
relaycreator relaytools/relaycreator Rewrote the Next.js frontend as an InfernoJS SPA with Blazecn. Express API server retained and extended.
strfry hoytech/strfry Nostr relay daemon — used as-is.
spamblaster relaytools/spamblaster strfry write-policy plugin — used as-is.
interceptor relaytools/interceptor WebSocket proxy handling NIP-42 auth and relay routing — used as-is.
cookiecutter relaytools/cookiecutter Generates per-relay strfry configs and HAProxy rules from the relaycreator API.

Tech Stack

Frontend

  • InfernoJS — React-compatible UI library, extremely fast virtual DOM
  • Blazecn — shadcn/ui-compatible component library ported to InfernoJS
  • Tailwind CSS v4 — utility-first CSS with PostCSS
  • Kaji — InfernoJS-native Nostr protocol library

Server

  • Bun — JavaScript runtime, bundler, and package manager
  • Hono — lightweight web framework (social client server)
  • Express — API server (relaycreator)
  • Prisma — ORM for MariaDB

Infrastructure

  • HAProxy — TLS termination, WebSocket routing, wildcard subdomain handling
  • MariaDB — relay metadata, user accounts, ACLs
  • systemd-nspawn — lightweight containers for service isolation
  • OvenMediaEngine — RTMP ingest and HLS/WebRTC streaming

Signing & Auth

  • nos2x-frog — NIP-07 browser extension for Nostr key management

Features

  • Global and Following feed modes with live updates
  • Post creation, replies, reactions, reposts
  • User profiles with follow/unfollow (NIP-02)
  • Rich content rendering (links, images, video, hashtags, nostr: entities)
  • Notifications (reactions, replies, mentions, reposts)
  • Relay management with live connection status
  • Relay hosting with per-relay ACLs, write policies, and moderation
  • Hashtag feeds
  • Raw event inspector
  • NIP-07 browser extension authentication
  • Component library documentation at /docs

Getting Started

cd mycelium
bun install
bun run build
bun run dev

The app starts at http://localhost:3000.

Project Structure

mycelium.social/
├── mycelium/               # Main social client
│   ├── public/             # Static assets
│   ├── src/
│   │   ├── app/
│   │   │   ├── components/ # Layout, Feed, PostCard, Compose, Login
│   │   │   ├── pages/      # Home, PostDetail, UserProfile, Notifications, etc.
│   │   │   ├── store/      # State management (auth, relay, feed, contacts)
│   │   │   └── ui/         # Blazecn components (Button, Card, Input, etc.)
│   │   ├── nostr/          # Kaji protocol library (local mirror)
│   │   ├── server/         # Hono server
│   │   └── styles/         # Tailwind CSS v4 + PostCSS
│   ├── build.ts            # Bun build script
│   └── package.json
├── live/                   # Live streaming frontend (NIP-53)
├── relaycreator/           # Relay management (fork of relay.tools)
├── nos2x-fox/              # Browser extension (nos2x-frog)
└── blazecn/                # Component library

Related Repositories

Repo Description
relay.tools Upstream relay management stack
blazecn shadcn/ui-compatible component library for InfernoJS
kaji InfernoJS-native Nostr protocol library
nos2x-frog Nostr signer browser extension
mycelium-android Native Android Nostr client
relaycreator Our fork of relay.tools/relaycreator with InfernoJS frontend

License

MIT — see NOTICE.md for third-party license details.

About

mycelium is a full stack deployment of nostr-enabled utilities

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages