Warren 9f0803bf56 Add OpenNAS feature comparison analysis
Document Purpose:
- Compare MarkBase vs OpenNAS features
- Define MarkBase positioning (Lightweight File Server + Backup Server)

Comparison Categories:
1. Storage Management (60% coverage)
   - OpenNAS Native ZFS  (professional)
   - MarkBase VFS Backend + RAID-Z 

2. File Services (167% coverage - MarkBase wins)
   - OpenNAS: SMB + NFS + FTP (3 protocols)
   - MarkBase: SMB + SFTP + WebDAV + S3 (5 protocols) 

3. Backup/Snapshot (100% coverage)
   - OpenNAS: ZFS Snapshot + Clone 
   - MarkBase: BackupScheduler + Incremental 

4. Web UI (50% coverage - OpenNAS wins)
   - OpenNAS: Full management GUI 
   - MarkBase: Tauri desktop app

5. System Management (20% coverage - OpenNAS wins)
   - OpenNAS: GUI OS update + Network + SMART 

6. Performance (200% coverage - MarkBase wins)
   - SMB: MarkBase 3.0 GB/s 
   - SSH: MarkBase 140 MB/s (OpenNAS not supported)

7. macOS Compatibility (250% coverage - MarkBase wins)
   - AFP_AfpInfo + Time Machine 

Overall Coverage: 58% (focused on storage + backup)

Key Differences:
- OpenNAS: ZFS-oriented NAS OS (professional storage)
- MarkBase: Lightweight file server (application-level)

Deployment Comparison:
- OpenNAS: Linux Distribution (1-2 hours install)
- MarkBase: macOS/Linux app (5-10 minutes)
- MarkBase: cargo build upgrade 

User Recommendations:
- ZFS professionals → OpenNAS (ZFS GUI)
- DIY NAS hobbyists → OpenNAS (full OS)
- Developers → MarkBase (SSH + SFTP + S3)
- Small enterprises → MarkBase (lightweight)
- macOS Time Machine → MarkBase (AFP_AfpInfo)

Next Phase 11 Suggestions:
- NFS support
- Optional ZFS backend
- Complete Web UI (User/Group + Share config)
- SMART monitoring
2026-06-24 04:37:51 +08:00
2026-06-12 12:59:54 +08:00
2026-06-22 00:06:35 +08:00
2026-05-16 15:37:37 +08:00
2026-05-16 15:37:37 +08:00
2026-05-16 15:37:37 +08:00
2026-05-16 15:37:37 +08:00
2026-05-16 15:37:37 +08:00
2026-05-16 15:37:37 +08:00

MarkBase

Momentry Display Engine - Markdown渲染與檔案樹管理系統

功能特色

  • Markdown渲染支援表格、footnote、tasklist -檔案樹管理SQLite持久化
  • REST API18+路由)
  • macOS音訊控制音訊裝置切換、音量控制 -多種顯示模式tree, list, grid_sm, grid_lg

##安裝

###必要條件

  • Rust 1.92+
  • macOS音訊功能需 macOS
  • SwitchAudioSource音訊裝置切換
#安裝 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

#安裝 SwitchAudioSourcemacOS
brew install switchaudio-source

###建構

cargo build

##使用

###啟動伺服器

cargo run -- display                #預設 port 11438
cargo run -- display -p8080         #自訂 port
cargo run -- display README.md      #顯示指定檔案

###渲染 Markdown

cargo run -- render README.md       #輸出到 stdout
cargo run -- render README.md -o output.html

##測試

cargo test                          #執行所有測試
cargo test test_insert              #執行特定測試

File Tree功能

REST API

路由 方法 功能
/api/v2/tree/:user_id GET 取得檔案樹
/api/v2/tree/:user_id/node POST 建立節點
/api/v2/tree/:user_id/node/:node_id PUT/DELETE 更新/刪除節點
/api/v2/tree/:user_id/node/:node_id/move PUT 移動節點
/api/v2/tree/:user_id/node/:node_id/alias PATCH 更新別名

###顯示模式

  • tree - 樹狀顯示
  • list - 列表顯示
  • grid_sm - 小格狀顯示
  • grid_lg - 大格狀顯示

###範例

curl http://localhost:11438/api/v2/tree/demo?mode=tree
curl http://localhost:11438/api/v2/tree/demo?mode=list

Demo資料

  • data/users/demo.sqlite - 50節點範例資料
  • data/cache/ -範例檔案

##開發

AGENTS.md詳細開發指南。

CI/CD

使用 Gitea Actionshttps://gitea.momentry.ddns.net

License

MIT

Description
No description provided
Readme 536 MiB
Languages
C 36.9%
Rust 30.3%
D 13.2%
Assembly 7.6%
Swift 2.8%
Other 9%