memesplora¶
Memory & VRAM Filesystem - Use RAM and GPU VRAM as a high-speed file system with Cloudreve-style UI, S3 and WebDAV support
| 项目信息 | |
|---|---|
| 仓库 | https://github.com/Maicarons/memesplora |
| 在线体验 | https://maicarons.github.io/memesplora/ |
| 主要语言 | Go |
| Stars | 0 |
| 类型 | 原创项目 |
| 许可证 | Apache-2.0 |
| 最近更新 | 2026-09-04 |
Memesplora¶
Memory & VRAM Filesystem — Use RAM and GPU VRAM as a high-speed file system.
Overview¶
Memesplora transforms system memory (RAM) and GPU video memory (VRAM) into a fully functional file system. Users can select storage devices, create custom-sized spaces, and manage files through a Cloudreve-inspired web interface — with support for REST API, S3-compatible protocol, and WebDAV.
Key Features¶
- 🚀 Blazing Fast — RAM/VRAM-based storage with nanosecond-level latency
- 🎮 GPU VRAM Support — Leverage NVIDIA CUDA-enabled GPUs as storage devices
- 📁 Cloudreve-Style UI — Modern file management interface with file grid/list views, drag-and-drop upload, directory tree, and file preview (text, image, video, audio, PDF)
- 🔌 Multi-Protocol — REST API + S3-compatible API + WebDAV
- 🌙 Dark Mode — Built-in dark/light theme toggle
- 📦 Single Binary — Go backend compiled into one executable, frontend embedded
Quick Start¶
Prerequisites¶
- Go 1.22+ (for building from source)
- Node.js 20+ (for frontend development)
From Source¶
git clone https://github.com/Maicarons/memesplora.git
cd memesplora
## Build and run backend
cd backend
go build -o memesplora ./cmd/server
MEMESPLORA_MEMORY_SIZE=1073741824 ./memesplora
## (Optional) Start frontend dev server
cd ../frontend
npm install
npm run dev
Docker¶
docker run -d \
--name memesplora \
-p 5212:5212 \
-p 5213:5213 \
-p 5214:5214 \
-e MEMESPLORA_MEMORY_SIZE=1073741824 \
memesplora/memesplora:latest
Access¶
| Service | Port | Description |
|---|---|---|
| Web UI | :5173 |
React frontend (dev mode) |
| REST API | :5212 |
File management API |
| S3 API | :5213 |
AWS S3-compatible protocol |
| WebDAV | :5214 |
WebDAV protocol |
Default admin credentials are printed in the server startup log.
Documentation¶
Full documentation is available online at maicarons.github.io/memesplora or in the docs/ directory, built with VitePress:
cd docs
npm install
npm run dev
Architecture¶
┌─────────────────────────────────────────────────────┐
│ User Interface │
│ Web UI (React) · S3 Clients · WebDAV Clients │
├─────────────────────────────────────────────────────┤
│ API Gateway │
│ REST API · S3-compatible API · WebDAV Handler │
├─────────────────────────────────────────────────────┤
│ Service Layer │
│ Auth · File Management · Space Management · Shares │
├─────────────────────────────────────────────────────┤
│ Storage Abstraction Layer │
│ In-Memory FileSystem (Inode + Block-based) │
├─────────────────────────────────────────────────────┤
│ Device Management Layer │
│ RAM (mmap / VirtualAlloc) · VRAM (CUDA) │
└─────────────────────────────────────────────────────┘
Tech Stack¶
| Layer | Technology |
|---|---|
| Backend | Go 1.22+, Gin, ent, golang.org/x/net/webdav |
| Frontend | React 18, TypeScript, Ant Design 5, Zustand, Vite |
| Database | SQLite / PostgreSQL (metadata only) |
| RAM | mmap (Linux/macOS) / VirtualAlloc (Windows) |
| VRAM | CUDA + NVML (stub, ready for integration) |
Project Structure¶
memesplora/
├── backend/ # Go backend
│ ├── cmd/server/ # Entry point
│ └── internal/ # Core modules
│ ├── device/ # RAM/VRAM device management
│ ├── fs/ # In-memory filesystem
│ ├── api/ # REST API handlers
│ ├── s3/ # S3-compatible API
│ ├── webdav/ # WebDAV protocol
│ └── service/ # Business logic
├── frontend/ # React SPA
│ └── src/ # Components, pages, stores
├── docs/ # VitePress documentation
│ ├── architecture/ # System architecture docs
│ ├── api/ # API reference
│ └── guide/ # User guides
└── scripts/ # Build & test scripts
Testing¶
## Unit tests
cd backend && go test -v ./...
## E2E tests (requires running server)
bash scripts/e2e_test.sh
Roadmap¶
- [x] RAM device support (Linux/Windows)
- [x] In-memory filesystem with directory tree
- [x] REST API (file CRUD, space management, sharing)
- [x] S3-compatible protocol
- [x] WebDAV protocol
- [x] React frontend with Cloudreve-style UI
- [x] Dark mode
- [ ] GPU VRAM (CUDA) full integration
- [ ] File versioning
- [ ] User registration & multi-user support
- [ ] Real-time file sync
- [ ] Mobile-responsive layout
License¶
This project is licensed under the Apache License 2.0 — see the LICENSE file for details.
Contributing¶
Contributions are welcome! Please read docs/guide/contributing.md for guidelines.