memos
memos copied to clipboard
Support Storacha (Web3.Storage) as a Storage Provider
Pre-submission Checklist
- [x] I have searched the existing issues and this feature has not been requested yet
Type of Feature
API / Backend
Problem or Use Case
I would like to propose adding Storacha (the evolution of Web3.Storage) as a supported storage backend for Memos. Storacha is a decentralized "hot" storage network built on Filecoin and IPFS that allows for permanent, content-addressed storage of media and assets.
Proposed Solution
- Add Storacha to the Storage Settings: Provide a new storage option in the admin panel alongside Local, S3, and Database.
- UCAN Integration: Implement authentication using Storacha’s UCAN-based authorization (no static API keys; use delegated proofs for better security).
- CID-Based Asset Linking: Assets uploaded via Memos should return their unique IPFS CID (Content Identifier) for the database reference, ensuring data integrity.
-
Public Gateway Support: Enable configurable gateway URLs (e.g.,
w3s.linkorstoracha.link) for easy asset retrieval in memos.
While Cloudflare R2/S3 are excellent high-performance cloud solutions, adding Storacha aligns with the "Privacy-First" and "Self-Hosted" philosophy of Memos in three specific ways:
- Data Sovereignty: Unlike traditional cloud providers, Storacha provides verifiable, user-owned data. Assets are stored on a decentralized network rather than a single entity’s infrastructure.
- Permanent Content Addressing: By using CIDs instead of location-based URLs, Memos assets become immutable and portable. If the storage provider service changes, the data remains discoverable on the global IPFS network.
- No Vendor Lock-in: Storacha is built on open standards (IPFS/Filecoin). This provides an "exit strategy" from the centralized web, ensuring that user memos and their attached media can exist independently of any one corporation.
Storacha provides a mature JS Client and Go SDK, making it straightforward to integrate into the existing Memos architecture.
- Documentation: https://docs.storacha.network/
- Authorization: UCAN (User Controlled Authorization Networks)
Alternatives Considered
No response
Additional Context
No response