sandymount
v0.0.17
Published
SAND Stack: Solid + ActivityPub + Nostr + DID — Personal sovereignty in one command
Downloads
1,713
Maintainers
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 ✅
- [x] Solid pod (LDP, WAC, WebID)
- [x] Nostr relay (NIP-01, NIP-11)
- [x] Git HTTP backend
- [x] DID resolution (did:nostr)
- [x] 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.
Sandymount — Because your data should be yours.
🏖️
