Phase 1: MIT crypto primitives — AES-256-GCM, x25519 ECIES, HKDF key hierarchy, doc key sharing. All benchmarks pass, ~2ms encrypt+share. Phase 2: Encrypted IPFS storage — encrypt→upload→download→decrypt with KuboBackend for self-hosted kubo. TipTap image extension with CID-based attributes and ImageCache. 5/5 mock tests + 2/2 live tests pass. Phase 3: Collab server + IPFS deployed on Netcup — Fileverse collaboration-server (Y.js WebSocket relay + MongoDB) and kubo IPFS node running via Docker Compose with Traefik routing through CF tunnel. Phase 4: dSheet embed POC — React wrapper for @fileverse-dev/dsheet with collaborative mode toggle, IndexedDB persistence, Vite dev server. Phase 5: UCAN auth bridge — Ed25519 key generation, did:key encoding, JWT signing/verification, collaboration tokens, owner tokens, delegated access with proof chains. 9/9 tests pass. Zero external UCAN deps. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Dockerfile | ||
| README.md | ||
| docker-compose.yml | ||
| ipfs-init.sh | ||
README.md
Self-Hosted Collaboration Server
Fileverse's collaboration-server deployed on Netcup for rStack real-time collaboration.
Architecture
rSpace Client ──WebSocket──► Traefik ──► collab-server ──► MongoDB (ephemeral)
──► Redis (sessions)
Deployment
# On Netcup
cd /opt/apps/collab-server
docker compose up -d
# Verify
curl https://collab.jeffemmett.com/health
Auth Integration
The collaboration-server uses UCAN tokens. For rStack integration, we need to either:
- Generate UCAN tokens from EncryptID DIDs
- Fork and replace auth with EncryptID JWT
See docs/integration-plan.md Phase 3 for details.
Status
Not started — Docker Compose is prepared, needs testing after DNS setup.