[Open Source] #175 - FileRise: Hệ thống Cloud Storage "Zero-Database" với PHP 8.3, kiến trúc Storage Adapter và cơ chế mã hóa E2EE chuẩn quân đội
Trong kỷ nguyên của các hệ thống quản trị tệp tin cồng kềnh như Nextcloud, FileRise xuất hiện như một sự đối lập hoàn hảo: tinh gọn, cực nhanh và đặc biệt là không cần cơ sở dữ liệu SQL. Toàn bộ hạ tầng của FileRise được thiết kế để biến bất kỳ thư mục nào trên server thành một cổng lưu trữ chuyên nghiệp, hỗ trợ đầy đủ các giao thức từ giao diện Web hiện đại đến ổ đĩa mạng WebDAV, đồng thời duy trì khả năng kiểm soát quyền truy cập chi tiết (ACL) ở mức độ doanh nghiệp.
Dưới góc độ kỹ thuật, FileRise là một Case Study mẫu mực về việc ứng dụng PHP 8.3, kỹ thuật Storage Abstraction và tư duy thiết kế hệ thống Portable (Dễ di chuyển) tuyệt đối.
Github: https://github.com/axel-p/filerise
🛠️ 1. Nền tảng công nghệ: Sức mạnh của PHP 8.3 và Zero-Database
FileRise chọn một ngăn xếp công nghệ ưu tiên tốc độ phản hồi và sự đơn giản trong triển khai:
- Backend Core (PHP 8.3+): Tận dụng tối đa các tính năng mới như
strict_types,readonly propertiesvà hiệu năng thực thi cực đại của phiên bản PHP mới nhất. - Zero-Database Architecture: Đây là điểm "Pro" nhất của dự án. Thay vì dùng MySQL/Postgres, FileRise cấu trúc hóa toàn bộ metadata, người dùng và phân quyền vào các tệp JSON và Text. Điều này giúp việc sao lưu hay di chuyển toàn bộ server chỉ đơn giản là thao tác nén và copy thư mục.
- Security Suite (libsodium): Tích hợp thư viện mật mã học hiện đại nhất của PHP để thực hiện mã hóa dữ liệu tại chỗ (Encryption at rest).
- Frontend Engineering: Sử dụng JavaScript thuần (Vanilla JS) và Resumable.js, đảm bảo trải nghiệm tải lên các tệp tin hàng chục GB mượt mà qua cơ chế chia nhỏ phân đoạn (Chunking).
🏗️ 2. Trụ cột kiến trúc: Storage Adapter và Metadata Indexing
Kiến trúc của FileRise tập trung vào tính trừu tượng và khả năng mở rộng:
- Storage Abstraction Layer (Adapter Pattern): Hệ thống không giao tiếp trực tiếp với ổ cứng. Thay vào đó, mọi yêu cầu đi qua một lớp Interface. Điều này cho phép FileRise kết nối linh hoạt với Local FS, Amazon S3, SMB, hoặc SFTP mà không cần thay đổi logic nghiệp vụ cốt lõi.
- Granular ACL Inheritance: Hệ thống phân quyền được thiết kế phân cấp. Quyền hạn (Xem, Ghi, Xóa, Chia sẻ) được thiết lập tại thư mục cha và tự động kế thừa xuống hàng nghìn thư mục con, cho phép quản trị viên thiết lập các cấu trúc Client Portal phức tạp chỉ trong vài phút.
- Metadata Indexing Engine: Để giải quyết bài toán hiệu năng của kiến trúc không DB, FileRise sử dụng một bộ máy lập chỉ mục metadata vào các cache JSON. Kỹ thuật này giúp hệ thống duyệt các cây thư mục khổng lồ (100.000+ file) với tốc độ tức thì.
🔄 3. Workflow: Vòng đời của một yêu cầu truy xuất tệp (Sequence Diagram)
Sơ đồ mô tả quy trình FileRise điều phối giữa xác thực, phân quyền và lớp lưu trữ:

⚡ 4. Các kỹ thuật "Pro-level" trong mã nguồn
- Transparent Data Encryption: Sử dụng thuật toán
secretstreamcủa libsodium. Các tệp tin nhạy cảm được mã hóa ngay khi ghi xuống đĩa và chỉ có thể được giải mã thông qua lớp xử lý của FileRise, biến máy chủ lưu trữ thành một "kho chứa mù" (Zero-Knowledge) đối với quản trị viên hạ tầng. - WebDAV Orchestration: Tích hợp bộ thư viện sabre/dav và tùy biến sâu sắc để ép buộc các quy tắc ACL của Web vào giao thức hệ thống tệp tin. Điều này đảm bảo tính nhất quán bảo mật 100% dù người dùng dùng trình duyệt hay dùng Windows Explorer.
- Reverse Proxy Awareness: FileRise tích hợp sẵn logic xử lý Header
X-Forwarded-ForvàX-Forwarded-Proto. Kỹ thuật này giúp ứng dụng nhận diện đúng IP khách hàng và duy trì HTTPS khi chạy sau các lớp cân bằng tải như Nginx, Traefik hay Cloudflare. - Automatic Integrity & Anti-Virus: Hỗ trợ kết nối với daemon ClamAV. Mọi tệp tin khi tải lên sẽ được chuyển qua luồng quét virus tự động trước khi chính thức được lưu trữ vào hệ thống.
⚖️ 5. So sánh chiến lược
| Tiêu chí | FileRise | Nextcloud | FileBrowser |
|---|---|---|---|
| Cơ sở dữ liệu | Không (JSON/Text) | MySQL/PostgreSQL | SQLite |
| Độ nặng hệ thống | Siêu nhẹ | Rất nặng | Nhẹ |
| Giao thức hỗ trợ | Web, WebDAV, API | Web, WebDAV, v.v. | Chỉ Web |
| Kiểm soát quyền | Rất chi tiết (Granular) | Trung bình | Cơ bản |
| Mã hóa E2E | Có (Tích hợp sâu) | Qua App phụ | Không |
| Triển khai | Copy & Run (Portable) | Cần Setup phức tạp | Dễ |
✅ Kết luận: Tại sao FileRise là hình mẫu cho Private Cloud?
FileRise chứng minh rằng sức mạnh không nằm ở sự phức tạp. Bằng cách loại bỏ lớp cơ sở dữ liệu và tập trung vào trừu tượng hóa lưu trữ, dự án mang lại một công cụ vừa an toàn tuyệt đối cho người dùng cá nhân, vừa đủ linh hoạt để làm backend cho các giải pháp SaaS chuyên nghiệp.
Đối với các kỹ sư Backend, nghiên cứu FileRise giúp bạn hiểu sâu về:
- Kỹ thuật xây dựng hệ thống Zero-Database hiệu năng cao.
- Cách triển khai Mật mã học (Cryptography) thực tế trong PHP.
- Tư duy thiết kế Storage Agnostic thông qua các Adapter.
All rights reserved