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

有没有这么一款自建网盘?

  •  
  •   jfv · 2023-05-22 11:04:49 +08:00 · 9602 次点击
    这是一个创建于 404 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前一直用的是 filerun, 不过最近 filerun 升级, 取消了免费版本
    不是不想付费, 而是 filerun 太贵了, 最便宜的版本一年的授权费要 750+
    对比一下在线服务
    icloud 2tb 一年是 800+
    百度云盘 5tb 一年 188
    阿里云盘 8tb 一年 158
    最重要的是在线服务不需要任何的硬件成本和维护成本

    所以现在想更换到另一个自建网盘
    调研了 nextcloud owncloud 之类的服务 感觉都不太适合
    个人主要在意以下功能:
    - 支持 docker 部署, 支持非 root 用户运行
    - 保留硬盘的文件树结构, 因为文件树多个服务在用, 改变文件树的话会影响其他服务, 非 root 运行也是同样原因, 改变文件权限会导致其他服务异常
    - 支持 2fa, 因为网盘可能会放在公网
    - 支持文件分享
    62 条回复    2024-03-05 12:07:48 +08:00
    grit136907108
        1
    grit136907108  
       2023-05-22 11:11:16 +08:00
    可以用 alist 搭配各种网盘
    buruoyanyang
        2
    buruoyanyang  
       2023-05-22 11:13:44 +08:00
    nextcloud 实在是有点卡。😂
    BeautifulSoap
        3
    BeautifulSoap  
       2023-05-22 11:14:02 +08:00
    我寻思,lz 提的这些要求,nextcloud 不都满足吗
    jfv
        4
    jfv  
    OP
       2023-05-22 11:19:22 +08:00
    @BeautifulSoap nextcloud 第一点和第二点没找到相关解决方案
    第二点 nextcloud 是每个用户一个文件夹, 而且里面还有个 user-files 的文件夹

    最后, nextcloud 是真的卡
    cqmzgg2023
        5
    cqmzgg2023  
       2023-05-22 11:21:56 +08:00
    alist 本地也可以啊
    jfv
        6
    jfv  
    OP
       2023-05-22 11:44:56 +08:00
    @grit136907108
    @cqmzgg2023
    alist 感觉更像是网盘本地化, 而不是自建网盘
    yunyuyuan
        7
    yunyuyuan  
       2023-05-22 11:47:52 +08:00   ❤️ 3
    有解决方案啊。
    我现在就是 docker-compose 部署 nextcloud ,external storages 挂载我的外部硬盘。首先用 fstab 挂载硬盘到宿主机的 /mnt ,再 volumn 到 container 。可以看到文件夹图标显示的外部存储,事实上我完全没有用 nextcloud 的存储。
    ![]( )
    ![]( )
    yunyuyuan
        8
    yunyuyuan  
       2023-05-22 11:49:14 +08:00
    还有我的 nextcloud 一点都不卡啊,N5095+8G 的 mini 主机
    BeautifulSoap
        9
    BeautifulSoap  
       2023-05-22 11:56:04 +08:00
    @jfv 看 lz 的提问,似乎你对 docker 不太熟悉? nextcloud 官方就有 docker 镜像,并且默认不以 root 用户运行(以 www-data:www-data 运行,php 运行的程序默认就是这个用户和组)。如果你高兴改的话,改一改 php 配置也能用其他用户运行。

    > 第二点 nextcloud 是每个用户一个文件夹, 而且里面还有个 user-files 的文件夹
    不是很理解为什么这点会成为问题? nextcloud 各用户目录下的数据结构是和目录相同的。你既然用 docker 那么直接把你服务器上的数据目录给 mount 到 nextcloud 容器对应的 `用户名 /files` 文件夹下就结束了。充其量初期需要执行下扫描目录的命令,之后数据就出现在相对应用户里了

    最后,nextcloud 在硬盘和 cpu 性能很差的机子 /服务器上的确非常卡。但是自从我把 nextcoud 移到另一台 ssd 硬盘、E3 的机子上之后,简直如丝般柔顺。
    deorth
        10
    deorth  
       2023-05-22 11:58:42 +08:00 via Android
    nextcloud 换了 php8 了,没那么卡了
    lcy630409
        11
    lcy630409  
       2023-05-22 11:59:44 +08:00
    在线服务 可以拼车啊
    onedrive 1t 一年也就 40
    iCloud 2t 一年 120
    比自建舒服多了
    hymzhek
        12
    hymzhek  
       2023-05-22 12:00:00 +08:00
    yunyuyuan
        13
    yunyuyuan  
       2023-05-22 12:09:01 +08:00
    用 docker-compose 的话,给 container 设置用户和组就行了:
    services:
    app:
    image: nextcloud:latest
    user: 1000:1000
    jfv
        14
    jfv  
    OP
       2023-05-22 12:10:27 +08:00
    @BeautifulSoap

    我说的不以 root 运行是指通过 `docker run --user uid:gid` 的方式

    第二点确实可以这样解决, 不过新的问题在于手动往磁盘添加文件, nextcloud 不会自动检测到, 体现就是网页上看不到这个文件
    jfv
        15
    jfv  
    OP
       2023-05-22 12:11:00 +08:00
    @lcy630409 自建网盘就是为了不用云服务
    zololiu
        16
    zololiu  
       2023-05-22 12:40:15 +08:00 via iPhone
    几年没用 filerun 了,刚去看了一眼,不止收费了,界面还变丑了。
    xiri
        17
    xiri  
       2023-05-22 12:46:05 +08:00 via Android
    @jfv 这个第二点可以安装 external storage 插件,然后挂载本地目录(上面有老哥已经提到了),这样不涉及 nextcloud 自己维护的文件列表,加新文件不需要重新扫描才能看到。

    这样同时也解决了“nextcloud 是每个用户一个文件夹, 而且里面还有个 user-files 的文件夹”的问题,因为你并不使用它维护的文件夹结构
    ixixi
        18
    ixixi  
       2023-05-22 12:54:03 +08:00 via Android
    夸克网盘,淘宝 88vip 送,价格非常低。
    LindsayZhou
        19
    LindsayZhou  
       2023-05-22 12:57:44 +08:00
    抖机灵:
    nginx autoindex + sftp (自己改 pam 加 2fa )

    我的 https://io.lin.moe 就是这么做的。
    公开分享的内容单独放了一个文件夹,然后开了 webdav 和 rsync 协议,用来管理内容,也能 ssh sftp 之类的东西上传。
    allence
        20
    allence  
       2023-05-22 13:04:50 +08:00
    alist 就合适了,有 docker ,支持 2FA ,除了本地磁盘还支持多网盘协议,挂载 aio
    coolfan
        21
    coolfan  
       2023-05-22 14:15:22 +08:00
    @hymzhek 在用,这玩意儿好像不保留目录结构
    dann73580
        22
    dann73580  
       2023-05-22 14:45:47 +08:00
    Ifilespace ,作者在 V2EX 宣传过一次
    crazyweeds
        23
    crazyweeds  
       2023-05-22 14:52:13 +08:00   ❤️ 1
    开个玩笑,开发出来,你付费吗?哈哈。
    hutng
        24
    hutng  
       2023-05-22 14:57:08 +08:00
    cloudreve
    Peelson
        25
    Peelson  
       2023-05-22 15:04:42 +08:00
    除了 iCloud 都没有办法解决 Live Photo 的问题 :( 即使可以上传后在线查看 Live Photo ,再下载之后也没有了
    GeekGao
        26
    GeekGao  
       2023-05-22 15:19:10 +08:00
    要求不少,愿意付多少钱?
    jfv
        27
    jfv  
    OP
       2023-05-22 15:24:58 +08:00
    @GeekGao 我问有没有 我没要求你开发吧
    jfv
        28
    jfv  
    OP
       2023-05-22 15:28:12 +08:00
    @yunyuyuan nextcloud 确实支持了, 因为我用的是 linuxserver/nextcloud 这个镜像, 虽然指定了用户也会生成一些 root 权限的文件
    jfv
        29
    jfv  
    OP
       2023-05-22 15:29:55 +08:00
    @xiri 这个解决方法可以
    GeekGao
        30
    GeekGao  
       2023-05-22 15:36:43 +08:00
    @jfv 因为我有开发过你说的这种程序啊 ,不过不免费。
    IV16SL
        31
    IV16SL  
       2023-05-22 15:38:09 +08:00   ❤️ 2
    @Peelson 虽然和主题没什么关系,不过群晖的 photos 对于 Live Photo 上传后即使重新下载还是和原来一样的。
    shenjinpeng
        32
    shenjinpeng  
       2023-05-22 15:40:20 +08:00
    minio 开源分布式文件管理
    alist 可以链接各种网盘
    BeautifulSoap
        33
    BeautifulSoap  
       2023-05-22 16:54:08 +08:00
    @jfv 我搜了一下,nextcloud 也是支持 docker run --user uid:gid 的,https://github.com/nextcloud/docker/issues/359
    不过我不明白你为什么这么纠结用户。目录都是挂载进去的,把 www-data 用户权限给自己就行了

    > 不过新的问题在于手动往磁盘添加文件, nextcloud 不会自动检测到
    nextcloud 有个 occ 命令可以做到很多事,比如扫描目录变更,用法就是 occ files:scan --all ,这样你添加的文件就能扫描到了。用 cron 每两分钟执行以下就可以
    详细文档 https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#scan
    如果你用 docker ,官方的 docker 镜像文档也写清楚了怎么在 dcoker 下运行 occ 命令(参考 Using the Nextcloud command-line interface 这一小节)
    https://hub.docker.com/_/nextcloud
    BaseException
        34
    BaseException  
       2023-05-22 17:13:53 +08:00   ❤️ 1
    nextcloud 、cloudreve 和 seafile 用户,只有 seafile 能让我坚持使用……
    Sakura
        35
    Sakura  
       2023-05-22 17:17:27 +08:00
    学习一下
    wy315700
        36
    wy315700  
       2023-05-22 17:18:20 +08:00
    @BaseException
    seafile 至今不肯出 Apple silicon 版本。。。
    BaseException
        37
    BaseException  
       2023-05-22 17:34:53 +08:00
    @wy315700 #36 我基本只用 web...
    lizhiqing
        38
    lizhiqing  
       2023-05-22 17:38:55 +08:00 via iPhone
    danbai
        39
    danbai  
       2023-05-22 17:48:54 +08:00
    alist 挂 smb 完美解决楼主需求
    z583819556
        40
    z583819556  
       2023-05-22 18:11:41 +08:00
    我用的这款,感觉还行。
    https://github.com/filebrowser/filebrowser
    way2explore2
        41
    way2explore2  
       2023-05-22 18:13:39 +08:00 via Android
    @jfv 我的 nextcloud docker 跑了一个月了

    Official docker compose file 转的 k8s yaml
    chancat
        42
    chancat  
       2023-05-22 19:03:05 +08:00 via Android
    咱就是说,你的要求要么自己开发要么找人开发个,不想掏钱就 alist
    palfortime
        43
    palfortime  
       2023-05-22 19:08:57 +08:00 via Android
    我的 nextcloud 用 podman 跑,完全不用 root 。
    233373
        44
    233373  
       2023-05-22 19:17:25 +08:00
    minion +1
    waringid
        45
    waringid  
       2023-05-22 20:52:11 +08:00
    seafile+1
    zgqq
        46
    zgqq  
       2023-05-22 21:09:27 +08:00
    暂时没有好的自建网盘,nextcloud 大量同步小文件速度真的被 dropbox 吊打
    Songxwn
        47
    Songxwn  
       2023-05-22 21:09:36 +08:00
    考虑性能的话,可以看看 Seafile
    py2ex
        48
    py2ex  
       2023-05-22 21:31:16 +08:00
    楼主,如果别人付费给你做这些功能(要维护升级),你愿意接受的最低多少价格是多少?
    换位思考对比一下是不是就不觉得贵了
    利益相关:曾经做过网盘,现在不做了。
    withrock
        49
    withrock  
       2023-05-22 22:26:43 +08:00
    目前还没遇到一款合适自己的网盘,seafile 基本可以满足,但缺点也很多,需要自己取舍。
    seafile 的优点明显:
    1.安全。底层是 C+Python 开发的,部分最新模块也在用 golang 重写。(如果有 seafile 的开发者交流群,麻烦拉我进群 WX:libxml )
    2.开源。所有技术组件、所有客户端都是开源的,除了部分商用功能,但也够用。如果技术能力强,可以自己改造。
    3.全平台支持。
    4.部署简单。docker-compose 本地部署,也可以部署在虚拟机。


    但 seafile 的缺点也很明显:
    1.客户端更新不及时,曾经给 seafile-iOS 提过一个 issue ,但没有响应,如果自己有能力,只能自己改 bug 。
    2.曾经想用 iOS 客户端的相册同步功能,但是如果相册照片特别多的话, 这个功能会不稳定,同步失败或者重复。

    说一个既是优点也是缺点的功能:
    底层数据的存储借鉴了 git 的方式,所以这个网盘原生支持版本管理,这个功能吊打其他网盘。但如果想从磁盘得到文件的原始数据,就比较麻烦。可以用 fuse 挂载再拷贝出来的方式,但如果文件较多,拷贝效率比较低。虽然用 git 的方式实现了版本管理,但是又不完全和 git 一样,导致没法用 git 命令操作数据。

    总结:个人猜测现在这家公司的精力都花费在他们的新产品 seatable 上(商业模式相同,商业+开源的 SaaS 智能表格),所以没有时间好好打理 seafile 了。但 seafile 还是目前我最喜欢的网盘。
    jerrywaffle
        50
    jerrywaffle  
       2023-05-22 22:32:41 +08:00 via iPhone
    syncthing 可以吗?不用索引
    xiaoz
        51
    xiaoz  
       2023-05-22 23:33:58 +08:00 via Android
    可以试试 seafile 用了好几年了,企业级网盘,支持全平台客户端。
    MetroWind
        52
    MetroWind  
       2023-05-23 03:27:56 +08:00
    awesome-selfhosted 上面随便一个都可以吧。Docker 什么的自己写个 dockerfile 就好了。
    itfanr
        53
    itfanr  
       2023-05-23 09:20:35 +08:00
    保留硬盘的文件树结构 这种网盘不多

    我现在比较懒了,直接用的群晖。
    TubeLover
        54
    TubeLover  
       2023-05-23 09:20:51 +08:00
    filerun 虽然明面上转收费了,但是原先的 10 用户免费许可证可以一直使用下去,还能免费更新,只要原先的域名不变即可。升级过程比较复杂,涉及前往管理面板点击升级,然后根据 directions 手动移动 docker 映射文件,修改 docker-compose 的镜像为 8.1 版本。
    sprite82
        55
    sprite82  
       2023-05-23 10:30:11 +08:00
    @jfv alist 可以挂载本地目录
    GrayXu
        56
    GrayXu  
       2023-05-23 11:29:31 +08:00
    不少人说 seafile ,seafile 确实体验挺好的,但它并不支持“保留硬盘的文件树结构”,
    Peelson
        57
    Peelson  
       2023-05-23 14:26:18 +08:00
    @IV16SL 我现在是 unraid 自建方案 iCloudDownload 后给 PhotoPrism 用,但 iCloud 还续费着,看来有必要试试黑群晖了,感谢信息。
    troilus
        58
    troilus  
       2023-05-23 16:38:28 +08:00
    sftpgo
    Jacksu
        59
    Jacksu  
       2023-05-24 20:46:31 +08:00
    直接 apache 或者 nginx 搭个 webdav 就行了,还能分目录设置权限。
    zololiu
        60
    zololiu  
       118 天前
    黑五入的 Filerun ,几百块钱。
    个人用户不是年付费的吧。
    永久升级,外加五个账号。

    jfv
        61
    jfv  
    OP
       117 天前
    @zololiu
    可能改了价格
    host 不能修改也是个问题
    因为我在局域网和公网用的是不同域名
    zololiu
        62
    zololiu  
       116 天前
    @jfv #61 确实,我买来安装完,激活的时候,要求使用域名访问官方的链接,才能激活。
    但是功能层面还有 UI 颜值,真的是用过目前最好的个人网盘了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2370 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:42 · PVG 20:42 · LAX 05:42 · JFK 08:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.