Stay Hungry,Stay Foolish!

Filebrowser

Filebrowser

https://github.com/fanqingsong/filebrowser

Dropbox-like file manager, that can be set up on any server.

Demo

Demo

 

 

其它推荐

1. 轻量级/快速部署

FileBrowser

  • 特点:单文件部署,无数据库依赖,适合个人或小团队。

  • 部署方式

    bash
    复制
    # 下载并运行(Linux/macOS/Win)
    curl -fsSL https://filebrowser.org/get.sh | bash
    filebrowser -d /path/to/files -p 8080
  • 优点:极简界面,支持用户权限、在线预览(图片/文本)。

  • 缺点:功能较基础,无高级协作功能。

  • 官网https://filebrowser.org

Cloudreve

  • 特点:支持本地/OSS/S3等存储后端,带WebDAV。

  • 部署方式

    bash
    复制
    # 解压即用(提供Windows/Linux/macOS版本)
    ./cloudreve
  • 优点:多存储支持,中文友好,分片上传。

  • 缺点:文档主要为中文。

  • 官网https://www.cloudreve.org


2. 自托管企业级

Nextcloud

  • 特点:开源全能方案(文件+日历+协作),插件丰富。

  • 部署方式

    bash
    复制
    # Docker一键部署
    docker run -d -p 8080:80 nextcloud
  • 优点:支持在线编辑(OnlyOffice集成)、手机App、端到端加密。

  • 缺点:资源占用较高,需配置数据库(默认SQLite轻量)。

  • 官网https://nextcloud.com

Seafile

  • 特点:专注文件同步与团队协作,性能优化好。

  • 部署方式

    bash
    复制
    # 官方提供一键安装脚本(Linux)
    wget https://download.seafile.com/seafile-server-latest.tar.gz
    tar -xzf seafile-server-latest.tar.gz
    cd seafile-server-* && ./setup-seafile.sh
  • 优点:增量同步、文件历史版本、权限管理精细。

  • 缺点:社区版功能有限,专业版需付费。

  • 官网https://www.seafile.com


3. 商业方案(免运维)

Synology DSM (群晖NAS)

  • 特点:硬件+软件一体化,图形化管理。

  • 部署:购买NAS设备后通过网页配置,支持AFP/SMB/WebDAV。

  • 优点:开箱即用,支持RAID、备份套件、移动端App。

  • 缺点:需硬件投入。

MinIO

  • 特点:兼容S3协议的高性能对象存储。

  • 部署

    bash
    复制
    # 单节点模式(开发测试)
    docker run -p 9000:9000 minio/minio server /data
  • 优点:适合API集成,分布式扩展容易。

  • 缺点:需自行实现前端管理界面(可用Jodit等插件)。

  • 官网https://min.io


4. 特殊场景推荐

  • 仅需内网共享:用 Samba/NFS(Linux)或 Windows文件共享

  • 需要WebDAV:轻量级选 Rclone WebDAV,功能全选 Nextcloud

  • 开发测试:Python快速启动临时服务:

    bash
    复制
    python3 -m http.server 8000  # 当前目录作为Web根目录

选择建议

  1. 个人使用:FileBrowser 或 Cloudreve。

  2. 团队协作:Nextcloud 或 Seafile。

  3. 企业级/兼容S3:MinIO 或 Synology。

  4. 极简CLI管理:考虑 rclone + WebUI工具(如FileGator)。

大部分工具提供 Docker镜像,进一步简化部署(如 docker-compose up -d)。

 

fastapi-file-management-service

https://github.com/hanieas/fastapi-file-management-service

Table of Contents

  1. Introduction
  2. Technology Stack and Features
  3. Why a Separate File Management Service?
  4. How to Use it?
  5. API Endpoints
  6. Contributing

Introduction

This microservice is designed to manage all file-related tasks. It uses MinIO for object storage and MySQL for managing file metadata. We support chunk uploads for handling large files efficiently, with Celery running background tasks to ensure smooth performance.

Technology Stack and Features

  • FastAPI for the Python backend API.
  • 🧰 SQLAlchemy for the Python SQL database interactions (ORM).
    🧰SQLAlchemy对于 Python SQL 数据库交互 (ORM)。
  • 🔍 Pydantic, used by FastAPI, for the data validation and settings management.
    🔍Pydantic ,用于数据验证和设置管理。
  • 🗄️ MYSQL as the SQL database. 🗄️MYSQL作为 SQL 数据库。
  • 🔄 Alembic for database migrations. 🔄Alembic用于数据库迁移。
  • 🔧 Celery with RabbitMQ for task queue management and background processing.
    🔧CelerywithRabbitMQ用于任务队列管理和后台处理。
  • 💾 MinIO for scalable object storage with chunk upload support.
    💾MinIO用于支持数据块上传的可扩展对象存储。
  • Pytest for testing to ensure code reliability and functionality.
    Pytest进行测试以确保代码的可靠性和功能性。
  • 🐋 Docker Compose for development and production. 🐋Docker Compose用于开发和生产。

Why a Separate File Management Service?
为什么使用单独的文件管理服务?

    1. Centralizes file operations, making management and maintenance easier.
      集中文件作,使管理和维护更加容易。
    2. Enables scaling file handling independently of other services.
      启用独立于其他服务的扩展文件处理。
    3. Simplifies updates and changes to file handling without impacting other parts of the system.
      简化文件处理的更新和更改,而不会影响系统的其他部分。
    4. Reduces code duplication by keeping file upload and retrieval logic in one place, resulting in cleaner code.
      通过将文件上传和检索逻辑保存在一个位置来减少代码重复,从而获得更简洁的代码。

 

posted @ 2025-04-10 20:46  lightsong  阅读(32)  评论(0)    收藏  举报
千山鸟飞绝,万径人踪灭