Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sandymount) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
ποΈ Sandymount
The SAND Stack
Solid Β· ActivityPub Β· Nostr Β· DID
Personal sovereignty in one command
Quick Start Β· Features Β· Why SAND? Β· Roadmap
Quick Start
npm install -g sandymount
sandymount startThat's it. Your personal SAND server is running.
What is SAND?
Four protocols, one stack, total sovereignty:
| Protocol | What You Get | |
|---|---|---|
| S | Solid | Personal data pod β files, profiles, apps |
| A | ActivityPub | Federated social β Mastodon, Threads, WordPress |
| N | Nostr | Censorship-resistant social β relays, zaps, keys |
| D | DID | Decentralized identity β one key, every protocol |
Features
β Available Now
| Feature | Description |
|---|---|
| Solid Pod | Full LDP server with WebID, Web Access Control, Solid-OIDC |
| Nostr Relay | NIP-01 compliant, rate-limited, memory-efficient |
| Git Server | Clone and push repos via HTTP with WebID auth |
| DID Resolution | did:nostr β WebID, NIP-98 HTTP authentication |
| Mobile Ready | Runs on Android/Termux, ~100MB RAM |
π Coming Soon
| Feature | Description |
|---|---|
| ActivityPub | Mastodon-compatible federation via FedBox |
| Unified Identity | One keypair for Solid + AP + Nostr |
| P2P Connectivity | No VPS required |
Installation
Any Platform
npm install -g sandymount
sandymount startAndroid (Termux)
pkg install nodejs-lts
npm install -g sandymount pm2
pm2 start sandymount -- start
pm2 saveWith Options
sandymount start --port 3000 --nostr --gitModern UI (SolidOS UI)
sandymount start --solidos-uiUses a modern Nextcloud-style interface instead of the classic mashlib databrowser. Requires local mashlib and solidos-ui files. See solidos-ui for setup.
Endpoints
| Endpoint | Protocol | Description |
|---|---|---|
/ |
Solid | Pod root, WebID profile |
/relay |
Nostr | WebSocket relay (wss://) |
/relay/info |
Nostr | NIP-11 relay metadata |
/.git |
Git | Clone/push repositories |
/.well-known/webfinger |
Discovery | WebFinger lookup |
Why SAND?
The Problem
| Your Life | Who Controls It |
|---|---|
| Identity | Google, Apple, Facebook |
| Files | Dropbox, iCloud, Drive |
| Social | Twitter, Instagram, TikTok |
| Followers | The platform |
The Solution
| SAND Protocol | What It Fixes |
|---|---|
| DID | You own your identity |
| Solid | You own your data |
| Nostr | You own your voice |
| ActivityPub | You own your social graph |
The Vision
Your phone = Your server
Your key = Your identity
Your pod = Your data
Your relay = Your reachZero to sovereignty in 60 seconds.
Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SAND Stack β
ββββββββββββββ¬βββββββββββββ¬βββββββββββββ¬βββββββββββββββ€
β Solid β ActivityPubβ Nostr β DID β
β (LDP) β (AP) β (NIP-01) β (did:nostr) β
ββββββββββββββ΄βββββββββββββ΄βββββββββββββ΄βββββββββββββββ€
β Fastify Server β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Filesystem β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
One port Β· One process Β· One identityRoadmap
v0.0.x β Foundation β
- Solid pod (LDP, WAC, WebID)
- Nostr relay (NIP-01, NIP-11)
- Git HTTP backend
- DID resolution (did:nostr)
- Android/Termux support
v0.1.x β Federation
- ActivityPub integration
- Mastodon compatibility
- WebID = AP Actor = Nostr pubkey
v0.2.x β Mobile
- One-tap install app
- Built-in relay service
- P2P mode (no VPS)
v1.0 β Production
- Clustering
- Admin dashboard
- Plugin system
Configuration
# CLI
sandymount start --port 3000 --nostr --git
# Modern UI
sandymount start --solidos-ui
# Environment
export SAND_PORT=3000
export SAND_NOSTR=true
export SAND_GIT=true| Option | Description | Default |
|---|---|---|
--port <n> |
Port to listen on | 5420 |
--root <path> |
Data directory | ./data |
--solidos-ui |
Modern Nextcloud-style UI | false |
--no-nostr |
Disable Nostr relay | - |
--no-git |
Disable Git backend | - |
--no-idp |
Disable identity provider | - |
--no-mashlib |
Disable UI entirely | - |
--activitypub |
Enable ActivityPub | false |
--quiet |
Suppress logs | false |
Resources
| Resource | Link |
|---|---|
| Website | sandy-mount.com |
| GitHub | sandy-mount/sandymount |
| npm | npmjs.com/package/sandymount |
| Solid | solidproject.org |
| Nostr | nostr.com |
| ActivityPub | activitypub.rocks |
Contributing
We welcome contributions in:
- ActivityPub integration
- Mobile app development
- P2P connectivity
- Documentation
See Issue #3 for the SAND Stack roadmap.
License
AGPL-3.0 β Free as in freedom.