V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
DopaminePlz
V2EX  ›  NAS

自行搭建类似 onedrive 的服务器?

  •  1
     
  •   DopaminePlz · 149 天前 via Android · 4853 次点击
    这是一个创建于 149 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉 onedrive 很好用,可以直接用 Office/WPS 等软件打开 onedrive 中的文件并编辑,还可以自动同步。请问有类似的开源替代品吗?想自己搭建一个。现在用的 Samba 共享,不方便。

    34 条回复    2022-02-07 00:02:49 +08:00
    WinkeyLin
        1
    WinkeyLin  
       149 天前
    Cloudreve ,集成了 Web Office
    https://github.com/cloudreve/Cloudreve
    用 WebDav 挂载到本地应该能实现 Onedrive 的基本功能
    miyuki
        2
    miyuki  
       149 天前
    支持 Cloud Files API (就是资源管理器会显示同步状态)
    Seafile + SeaDrive2.0(客户端 2.0 支持 cfapi)
    liulongquan
        3
    liulongquan  
       149 天前
    nextcloud 可以作为伪装,多用途
    blueboyggh
        4
    blueboyggh  
       149 天前 via Android
    @miyuki 这个好像需要付费?
    14ccc
        5
    14ccc  
       149 天前
    office 365 ?
    mineralsalt
        6
    mineralsalt  
       149 天前
    群晖自带的云盘套件完美符合你的需求, 不想买可以用虚拟机装一个黑群晖
    thomaspaine
        7
    thomaspaine  
       149 天前
    @blueboyggh 有免费版的
    blueboyggh
        8
    blueboyggh  
       149 天前 via Android
    @thomaspaine seadrive 功能好像都是付费的
    Osk
        9
    Osk  
       149 天前
    nextcloud

    不过我是他的黑粉, 因为他处理大文件(1G 以上)相当糟糕!! 硬盘不好的话动不动服务器就死掉那种, 然后根据其它用户的评价, 小文件速度也慢, 这就迷惑了, 干啥啥不行...

    不过 nextcloud 周边挺丰富的:
    - 文件版本记录
    - 集成在线 office (docker 分分钟部署一个 onlyoffice 即可, 也可以用微软的 office online)
    - 与 Windows 集成较好, 有 OneDrive 类似的同步机制, 按需下载文件, 客户端用起来和 OneDrive 差异不大.
    - Windows/Android/iOS/Linux/Web 丰富的客户端.
    - 文件是原样存储的 (区别于 seafile 将文件分片后存储)


    然而, 有啥用呢, 核心的网盘功能都做不好, 放一个超大视频上去, 在线播放, 然后等待服务器卡住吧....

    用来存一些办公文件倒还可以试试, 代码源文件小文件遍地似乎也不适合用它存储
    thomaspaine
        10
    thomaspaine  
       149 天前
    @blueboyggh 我现在就在用啊,不用付费,一般是企业功能需要付费,比如 ldap 支持啥的吧
    thomaspaine
        11
    thomaspaine  
       149 天前
    @blueboyggh 看了一下,中英文两个网站的表述不同,英文版网站是明确支持的,应该按照英文版网站部署服务端即可,我这边反正已经用了很久了
    AllenHua
        13
    AllenHua  
       149 天前 via iPhone
    nextcloud 和 seafile 我都私有化部署了,准确讲一个都不满意。
    matolv
        14
    matolv  
       149 天前 via iPhone   ❤️ 1
    @Osk 那是因为你 php fpm 数量设置少了,自然会卡死,处理大文件需要修改下 nginx 和 php 设置,官网有文档,可以根据自己需求来
    dazkarieh
        15
    dazkarieh  
       149 天前
    群晖有 synology drive
    villivateur
        16
    villivateur  
       149 天前 via Android
    @Osk 你看下你的 php 配置和数据库配置,不要用 sqlite ,尽量用固态盘,CPU 性能不能太弱,这样就不会卡了
    blueboyggh
        17
    blueboyggh  
       149 天前
    @thomaspaine 测试了一下真的可以,而且我还发现专业版 3 用户以下是免费的,感谢!
    james122333
        18
    james122333  
       149 天前
    @Osk

    自己写吧 这东西效能不是一般的差 用 sql 当锁更是糟糕 随手刻一个效能与实现都好的多
    Archeb
        19
    Archeb  
       149 天前
    用的自建 synology drive ,挺好用的,od 国内同步体验很一般。
    newghost
        20
    newghost  
       149 天前
    试试 http://onceoa.com/ 5 人免费
    同步客户端在 http://onceair.com/
    clf
        21
    clf  
       149 天前
    seafile 的相似度感觉最接近 onedriver
    helios0z
        22
    helios0z  
       149 天前
    用 Syncthing 应该也不错吧,自建中继服务器
    ShunYea
        23
    ShunYea  
       149 天前 via Android
    我用的威联通自带 qsync ,感觉还行,但是同步机制没觉没有坚果云好,其他的都没用过。
    xiaoz
        24
    xiaoz  
       148 天前 via Android
    推荐 seafile ,企业级网盘,没有那么多花里胡哨的功能。
    Osk
        25
    Osk  
       148 天前
    @matolv
    @villivateur
    @james122333

    不好意思同时 @3 位, 不清楚 nextcloud 现在新版啥情况, 我半年前测试时大文件处理还是有问题的.
    环境:
    官方的 docker 镜像 (apache) + MariaDB, 具体的问题就是: 一旦客户端(也许仅限 web 端)发起了文件下载动作, 服务端会将整个文件读取一遍.


    这个问题糟糕在于:
    下载一个 4G+ 的文件, 然后取消下载, 此时服务端仍然在读取文件, 直到读取完成!
    大的视频在线预览时, 进度条根本不能流畅拖动, 因为也许服务端在忙着读取此文件...


    后面实在无语这鬼 bug 了, 换了一套网盘, 这才是我期望的行为:
    - 客户端下载速度 2M/s, 服务端的读取磁盘 io 也基本在 2M/s 左右. 而 nextcloud 能直接把服务器磁盘 io 吃满, 全速读取文件.
    - 客户端暂停下载, 服务端磁盘 io 也基本马上停掉. nextcloud 不会, 它要把文件读取完了才停.
    - 大文件下载时, 只要没有把资源吃满, 其它的访问能正常进行. nextcloud 因为 io 占满直接网站死掉...




    我也一直没搞明白这是什么问题, nextcloud issues 里面也多次提到了此问题, 但都没有解决方案或解答, 大部分被关闭 issues.
    现在换了网盘方案, 简单, 响应快, 虽然只有 web 端, 但将就用了
    james122333
        26
    james122333  
       148 天前
    @Osk
    下载的话会走另外一条 然后里头实现很错乱
    一般请求都会载入所有 app 设定 然后下载会载入所有档案相关 plugin 一下子走这条路一下子又走另外一条路 换是正确的 估计 app 如果有冲突或者路径不一致导致预期结果不一都够呛
    james122333
        27
    james122333  
       148 天前
    多进程可以稍微缓解问题 不过还是不佳
    前端效能也不好
    beyondex
        28
    beyondex  
       148 天前
    nextcloud ,php 默认脚本执行时间限制比较低,对于文件同步这种设置的大一点,对于大文件也可以放宽 php 上传大小。
    beyondex
        29
    beyondex  
       148 天前
    @Osk nextcloud 对于很大的文件确实没有优化( V 站有个 V 友优化过这个问题),它的定位是文档存储,如果存储文档他很多功能非常实用,但不适合当视频存储之类的大文件网盘用途。
    james122333
        30
    james122333  
       147 天前
    @beyondex
    就是需要消秏的资源多 与堆机器的优化没什么差
    定位是个人储存小范围分享然后还要好点的机器
    huabalance
        31
    huabalance  
       147 天前
    @Osk 能说说是什么网盘方案吗
    Osk
        32
    Osk  
       146 天前
    @huabalance filebrowser, go 语言写的, 前端挂了 nginx 反代提供 ssl

    不过功能属实过于简单, 我个人够用
    viberconnection
        33
    viberconnection  
       104 天前 via Android
    @matolv 太對了。
    直接在網頁上播放影片不順暢是因為相應進程數目不夠。
    然後控制 RAM 的使用量需要設置得當的 sysctl.conf 才行。不然的確會直接導致伺服器當機。
    上傳效能問題需要在 apps/files/js/jquery.uploads.js 這個檔案內設置得當的最大分片大小才能解決。
    viberconnection
        34
    viberconnection  
       104 天前 via Android
    接上次回覆:
    在文件第 154 行左右,maxchunksize 項目,單位為 bytes
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2553 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 10:31 · PVG 18:31 · LAX 03:31 · JFK 06:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.