Skip to content

sandy-mount/sandy-mount.github.io

Repository files navigation

πŸ–οΈ Sandymount

The SAND Stack

Solid Β· ActivityPub Β· Nostr Β· DID

Personal sovereignty in one command

npm version License: AGPL

Quick Start Β· Features Β· Why SAND? Β· Roadmap


Quick Start

npm install -g sandymount
sandymount start

That'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 start

Android (Termux)

pkg install nodejs-lts
npm install -g sandymount pm2
pm2 start sandymount -- start
pm2 save

With Options

sandymount start --port 3000 --nostr --git

Modern UI (SolidOS UI)

sandymount start --solidos-ui

Uses 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 reach

Zero 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 identity

Roadmap

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.


Sandymount β€” Because your data should be yours.

πŸ–οΈ

sandy-mount.com

About

sandymount

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published