V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
wahyd4
V2EX  ›  分享创造

老司机优化版:使用 docker / docker-compose 搭建在线下载 BT, 磁力链接,在线观看,全功能文件管理,云盘应用

  •  2
     
  •   wahyd4 ·
    wahyd4 · 2017-08-23 11:35:33 +08:00 · 22159 次点击
    这是一个创建于 2628 天前的主题,其中的信息可能已经有所发展或是发生改变。

    缘由

    首先得感谢,@Jaeger 几天前发布的帖子: 老司机使用 docker-pan 一键搭建可离线磁力种子的私有云盘,可在线播放预览文件 -> https://www.v2ex.com/t/383801

    谢谢!

    正是受这个帖子的影响。也是因为使用了那个 docker-pan 镜像。让我觉得我很需要这个功能,而且这个镜像本身稳定性方面也有一些可以提升的空间。于是才有了这里的东西。

    我主要是使用了 docker-compose 来搭建这样一个应用。为什么?

    • 使用 Docker-compose 让每个 docker 镜像只做一件事,则其本身会更加稳定,不易受其他组件的影响,也更方便管理
    • 另外一个 Nextcloud 比 filerun 更好用,更稳定,还有各种移动端,桌面端的 client。(在手机上使用也更方便),不需要外置数据库就可以使用(少了一个不稳定因素)。

    代码地址: https://github.com/wahyd4/aria2-ariang-x-docker-compose

    同时提供了 Aria2 + AriaNg + filerun 和 Aria2 + AriaNg + Nextcloud 两种方案,供大家选择。

    比较 Filerun 和 Nextcloud

    compare

    我的推荐

    我更喜欢 Nextcloud。毕竟颜值更高,功能强大还有各种客户端,大家从下面的两种方式中选择一种就好。
    

    使用

    提示 如果你不是在本地安装,请记得替换 localhost 为你的 ip 或者绑定的域名哦!!

      git clone https://github.com/wahyd4/aria2-ariang-x-docker-compose.git
      cd aria2-ariang-x-docker-compose/filerun
      docker-compose up -d
    

    一切搞定,尽情享受吧! 文件管理 Filerun: http://localhost:3000

    AriaNg: http://localhost:8000

    • 使用 nextcloud 安装
      git clone https://github.com/wahyd4/aria2-ariang-x-docker-compose.git
      cd aria2-ariang-x-docker-compose/nextcloud
      docker-compose up -d
    

    文件管理 Nextcloud: http://localhost:3000

    AriaNg: http://localhost:8000

    Nextcloud 还需额外的一点手动操作,

    Nextcloud 配置 external-storage

    • 打开 http://ip:3000 使用你喜欢的任意密码进行登录
    • 点击右上角 设置 -> 应用
    • 启用 External storage support 插件, 并输入密码确认

    plugin

    • 点击右上角 设置 -> 管理 -> 外部存储 进行添加外部存储, Aria2 下载的文件会存在 /user-files/ 目录下,存储类型选择本地存储,当存储添加成功,且可用时,最左端会显示出绿色。 Add external storage

    搞定,现在你通过 AriaNg 下载的文件就可以在 Nextcloud 里面查看到了。

    Files

    如果你仅仅想使用 Aria2 + AriaNg

      docker run --rm  -p 8000:80  -p 6800:6800 -v ~/data/:/user-files wahyd4/aria2-ariang
    

    8000 本地则是你暴露出对外访问的 AriaNg 图形界面的端口, ~/data/ 是你所有通过 Aria2 下载的文件目录。

    如果你在群晖上使用

    先运行 wahyd4/aria2-ariang 容器,再运行 wonderfall/nextcloud 容器,并使用 volume_from 属性即可实现完整功能了。

    第 1 条附言  ·  2017-08-23 14:47:43 +08:00

    又去了解了了下,Nextcloud 确实很强大,有很多插件!安装完这些插件 Nextcloud 就是一个工作平台,一个效率工具啊。 比如:

    • 在线 word 编辑
    • markdown 编辑
    • Calendar 客户端
    • 邮件客户端
    • 视频电话
    • 通信录
    • Kanban

    等等......

    详见: https://apps.nextcloud.com/categories/files

    第 2 条附言  ·  2017-08-23 17:44:02 +08:00

    看到很多人使用v2ex 的收藏,建议大家也可以在 github 上面 ❤︎ 哦,持续关注,多谢。

    https://github.com/wahyd4/aria2-ariang-x-docker-compose

    第 3 条附言  ·  2017-08-24 08:30:32 +08:00

    有什么新需求的,欢迎到 Github 上给我提 issue 啊,这样才更加方便跟踪和管理

    https://github.com/wahyd4/aria2-ariang-x-docker-compose/issues

    第 4 条附言  ·  2017-08-25 09:23:42 +08:00

    刚刚对镜像进行了升级。新版本中只需要使用一个端口8000。 aria2 地址: http://localhost:8000/aria2 文件管理地址 http://localhost:8000

    如果你是升级:

    进入 filerun 或者 nextcloud 目录

    docker-compose stop # 将 docker 镜像暂时关掉
    git pull origin master # 获取最近代码
    docker-compose up -d # 运行最新版本的镜像
    

    更多具体使用还请到 github 仓库地址。

    第 5 条附言  ·  2017-08-26 22:17:38 +08:00

    新增更加简单,轻量级的 h5ai 作为文件查看,和播放:

    使用 h5ai 作为在线文件查看和播放:

      git clone https://github.com/wahyd4/aria2-ariang-x-docker-compose.git
      cd aria2-ariang-x-docker-compose/h5ai
      docker-compose up -d
    

    搞定!

    更多详细的比较,还请到https://github.com/wahyd4/aria2-ariang-x-docker-compose 查看和收藏

    第 6 条附言  ·  2017-09-04 18:08:48 +08:00

    添加了 HTTPS 和 AriaNg 用户名和密码登录的支持。

    1. 对 AriaNg 启用 Basic Auth 登录密码验证,同样地,打开任何一个文件平台下面的 docker-compose.yml文件。 启用和修改aria2 服务下面的environment 相关属性:
      environment:
          - ARIA2_USER=admin #basic auth 用户名
          - ARIA2_PWD=password #basic auth 密码
          - ENABLE_AUTH=true # 是否启用用户名和密码验证, 默认情况下不启用,当该值为 false 时也不启用。
    
    1. 启用 HTTPS,为了实现该功能,我们采用 Caddy 来作为我们的 web 服务器和反向代理服务器。当我们绑定域名后,Caddy 自动为站点启用 HTTPS。也仅仅需要修改相应 docker-compose.yaml文件下 aria2服务的相关属性即可。(由于 filerun 程序本身的问题,目前暂不支持 HTTPS)
      environment:
        - DOMAIN=demo.toozhao.com #这里输入你想要绑定的域名, 必须首先在域名管理处添加 A 记录。当我们仅仅通过 ip 访问时则应该改为: :80, 这表示绑定所有可以使用的 ip
        - SSL=true #当值为 true 时,系统会自动启用 HTTPS
        - RPC_SECRET=Hello #这个属性是 配置AriaNg 连接 Aria2 时需要,你可以输入你想要设置的密码。一旦设置了 HTTPS, Aria2 也只能使用 HTTPS。这时就必须使用该设置。
    

    由于配置 HTTPS比较麻烦,图文请参见启用SSL

    74 条回复    2020-01-30 17:34:22 +08:00
    airycanon
        1
    airycanon  
       2017-08-23 11:58:26 +08:00
    感谢分享,顺便请教一下,Nextcloud 比群晖自带的文件管理好在哪里?
    wahyd4
        2
    wahyd4  
    OP
       2017-08-23 12:09:08 +08:00
    @airycanon 这个我不是很清楚,但是我觉得两个功能都很强大。在群晖上的话,其实只使用 wahyd4/aria2-ariang 来下载文件即可了。 在 vps 上使用 nextcloud 就很方便了。还可以预览 doc, 视频文件等等
    recall704
        3
    recall704  
       2017-08-23 12:32:57 +08:00
    aria2 在我这里很慢,我已经改用 qbittorrent 和 deluge 了。
    just1
        4
    just1  
       2017-08-23 12:35:08 +08:00 via Android
    感觉 nextcloud 贼丑。。
    7654
        5
    7654  
       2017-08-23 12:39:32 +08:00
    filerun 我感觉比 nextcloud 好用美观,轻量化,但是本地化不是太好,自己翻译需要帐号,创建帐号限制公网 IP,而且不开源,加密不好,客户端桌面使用的是 nextcloud 客户端,APP 有自己的 filerun APP
    Nextcloud 作为在线预览的网盘应用太臃肿了,同步才是正确打开方式
    wahyd4
        6
    wahyd4  
    OP
       2017-08-23 13:00:25 +08:00
    @recall704 和 aria2 本身没有关系,主要还是取决于种子。
    wahyd4
        7
    wahyd4  
    OP
       2017-08-23 13:02:29 +08:00
    @7654 filerun 第一次使用,强制改密码那个页面就让我无力吐槽了,而且,当 filerun 镜像挂掉之后,重建你就知道然后又悲剧了。还需要删除 mysql 数据库。。只能说 filerun 很轻量级,但是 filerun 本身的质量很一般。还有很多 细节 没有处理好
    yangxuan8282
        8
    yangxuan8282  
       2017-08-23 13:02:49 +08:00
    其实简单的下载加查看功能的话用 aria2 + h5ai 也行,在一个 compose 里启动,挂载同一个目录,然后容器里用同一个用户,h5ai 可以直接在线看视频或图片,也可以调用本地播放器去播放,在 vps 上试了一下看视频挺快的,快进和本地文件差不了多少,带宽够的话看高清也没问题,比电脑版百度云那种压缩后的清晰度强得多
    或者其它下载软件加别的网盘类应用来管理,比如 owncloud 或者芒果云这些
    不过这种比百度云用起来肯定还是有差距的,比如 ed2k 的文件,用 amule 下载一些资源速度只有 20K/s,比百度云它服务器里本来就有那些资源肯定慢很多,自己的机器上下一些不太活跃的磁力链接很多时候也是没速度
    wahyd4
        9
    wahyd4  
    OP
       2017-08-23 13:03:08 +08:00
    @just1 看来你是很喜欢 material design
    wahyd4
        10
    wahyd4  
    OP
       2017-08-23 13:05:26 +08:00
    @yangxuan8282 你说的都对,这个 compose 就是这个逻辑,共享目录。自己使用 VPS 建的话,就是灵活度高。资源和速度肯定没有百度,115 这些好。但是你如果恰好有个 放 ss 的 vps,然后又不愿意买百度,115 会员,这个方式我觉得还是很不错的。
    gowinder
        11
    gowinder  
       2017-08-23 13:49:09 +08:00 via iPhone
    vps 上跑 cloud torrent
    yuanotes
        12
    yuanotes  
       2017-08-23 14:11:17 +08:00
    要是有电视的 App 可以在电视上播放就好了。一直都是百度云盘下美剧,投屏到电视上看,很麻烦。
    wahyd4
        13
    wahyd4  
    OP
       2017-08-23 14:39:24 +08:00
    可以考虑在 docker-compose 里面放置一个 DLNA 的镜像,然后就可以满足你的要求了。你可以到我的 github 仓库里面提个 issue。😃
    wahyd4
        14
    wahyd4  
    OP
       2017-08-23 14:42:45 +08:00
    @gowinder 恩,刚刚去了解了下,感觉也挺不错的。Aria2 支持的协议更多吧。
    siagasky
        15
    siagasky  
       2017-08-23 15:24:38 +08:00
    好用的一笔啊
    wahyd4
        16
    wahyd4  
    OP
       2017-08-23 15:32:42 +08:00
    @siagasky 哈哈
    laxenade
        17
    laxenade  
       2017-08-23 15:43:53 +08:00 via Android
    同觉得 filerun 比 nextcloud/owncloud 要好看
    WendellSun
        18
    WendellSun  
       2017-08-23 15:54:58 +08:00
    mark,抽空试试。
    wahyd4
        19
    wahyd4  
    OP
       2017-08-23 16:25:02 +08:00
    @laxenade 喜欢就好,filerun 缺一个很好的镜像
    heihei20088
        20
    heihei20088  
       2017-08-23 16:40:58 +08:00
    请问 filerun 的初始登录用户和密码是多少
    wahyd4
        21
    wahyd4  
    OP
       2017-08-23 17:49:21 +08:00
    @heihei20088 superuser/ superuser
    siagasky
        22
    siagasky  
       2017-08-23 20:27:51 +08:00
    @wahyd4 有个问题是 nextcloud 中, 我无法修改 superuser 文件夹下的文件, 请问我是哪里的权限有问题吗? 我是在 VPS 里安装的, VPS 用的是 archlinux
    TabGre
        23
    TabGre  
       2017-08-23 20:29:39 +08:00 via iPhone
    回去试试看,🙏
    GreatMartial
        24
    GreatMartial  
       2017-08-23 21:09:33 +08:00 via Android
    666,这是我一直想实现的功能
    Helen
        25
    Helen  
       2017-08-24 01:00:29 +08:00
    只能查看或者下载不能删除文件
    lovestudykid
        26
    lovestudykid  
       2017-08-24 01:53:48 +08:00
    弱弱的问一下,你们都是在 VPS 上安装的么?这么干不会被封么。另外这样相对于在自己物理机器上跑有什么好处
    yangxuan8282
        27
    yangxuan8282  
       2017-08-24 01:57:56 +08:00
    @lovestudykid 有的商家没事,比如 scaleway,它官方提供 bt 下载的镜像,其它的可能有风险
    gowinder
        28
    gowinder  
       2017-08-24 06:46:11 +08:00 via iPhone
    @wahyd4 主要就是下个 bt
    xuc
        29
    xuc  
       2017-08-24 07:24:50 +08:00 via Android
    在线预览支持加载字幕吗?
    BadReese
        30
    BadReese  
       2017-08-24 07:57:30 +08:00 via iPhone
    所以大家都有自己的 vps 么…
    wahyd4
        31
    wahyd4  
    OP
       2017-08-24 08:25:21 +08:00
    @xuc 这个不支持,后面可以考虑提供 Glutton 的 docker-compose。欢饮到我的 github repo 提 issue 啊。这样我就不会忘了
    wahyd4
        32
    wahyd4  
    OP
       2017-08-24 08:25:51 +08:00
    @BadReese 每个月就一份盒饭就可以在 vultr 上买一个 VPS。
    wahyd4
        33
    wahyd4  
    OP
       2017-08-24 08:26:13 +08:00
    @Helen 你是说 filerun 还是 nextcloud ?
    wahyd4
        34
    wahyd4  
    OP
       2017-08-24 08:27:35 +08:00
    @lovestudykid VPS 上面有被封的可能,不过你只要低调点,自己一个人玩,然后不要下载太多,应该没什么问题。当然下载盗版是不好的。
    wahyd4
        35
    wahyd4  
    OP
       2017-08-24 08:28:10 +08:00
    @xuc 哦,刚刚没理解到,在线播放是不能加载字幕的。
    xuc
        36
    xuc  
       2017-08-24 10:40:41 +08:00
    @wahyd4 没事。我找到方法了:共享之后将视频文件的下载链接放到 Potplayer 里面播放,然后就可以加载字幕了。
    BadReese
        37
    BadReese  
       2017-08-24 11:11:58 +08:00 via iPhone
    @wahyd4 这么便宜呀?感觉有新玩具了
    Helen
        38
    Helen  
       2017-08-24 15:43:38 +08:00
    @wahyd4 nextcloud
    wahyd4
        39
    wahyd4  
    OP
       2017-08-24 17:01:50 +08:00
    @Helen 应该是因为 nextcloud 认为这些资源不是它本身系统的,所以不让删除。暂时我这边也没有办法。你可以改用 filerun 试试
    Helen
        40
    Helen  
       2017-08-24 21:02:47 +08:00
    @wahyd4 原来是文件夹权限问题,data 目录设置了个 777 权限就可以删除了。
    TabGre
        41
    TabGre  
       2017-08-25 08:04:37 +08:00 via iPhone
    下载好的视频文件播放的操作是什么呀?不会又要从 vps 上拉取吧,请教,每次预览都没有播放
    wahyd4
        42
    wahyd4  
    OP
       2017-08-25 08:48:24 +08:00
    @TabGre 你在 filerun 或者 nextcloud 里面通过界面点击就可以播放了啊
    inmyfree
        43
    inmyfree  
       2017-08-25 16:01:05 +08:00
    @wahyd4 #42 能把 Aria2 搞个登陆不,这样放着觉得不安心啊。。。。
    TabGre
        44
    TabGre  
       2017-08-25 21:41:27 +08:00
    dalao 们,正确的下载播放流畅是怎么捣鼓呀?这在阿里云上部署,预览或者本地看依然还是很卡呀
    wahyd4
        45
    wahyd4  
    OP
       2017-08-26 22:15:13 +08:00
    @TabGre 你的阿里云的服务器带宽多少? 是不是只有 1M ? 如果要比较流畅的话 至少要有 5M 的带宽。
    TabGre
        46
    TabGre  
       2017-08-27 05:27:31 +08:00
    @wahyd4 谢谢,果然是带宽太小了,当时买的乞丐版
    kslr
        47
    kslr  
       2017-09-05 11:15:10 +08:00
    视频可以转码吗?
    wahyd4
        48
    wahyd4  
    OP
       2017-09-05 11:37:43 +08:00
    @kslr 没有这个功能哦
    ptsa
        49
    ptsa  
       2017-09-15 10:05:27 +08:00
    @Helen 原来是文件夹权限问题,data 目录设置了个 777 权限就可以删除了。
    这个要怎么设置?
    Dk2014
        50
    Dk2014  
       2017-09-20 20:48:40 +08:00
    尝试了下自己安装 Nextcloud
    发现这东西是真的难装,我用的 oneinstackde 的一键包装好的 nginx+php
    安装这程序的时候各种错误,换成官方文档给的配置都没法运行
    wahyd4
        51
    wahyd4  
    OP
       2017-09-21 08:44:13 +08:00
    @Dk2014 所以这就是用 docker 方便的地方。
    Dk2014
        52
    Dk2014  
       2017-09-21 22:19:45 +08:00
    @wahyd4 没折腾过 docker,感觉很麻烦的样子
    wahyd4
        53
    wahyd4  
    OP
       2017-09-22 09:17:51 +08:00
    @Dk2014 docker 不麻烦,很简单,安装任何程序都不会影响到本机,运行程序也简单。删除这些也很简单,也不用担心删除不干净。
    ziyitony
        54
    ziyitony  
       2017-09-23 16:42:49 +08:00
    非常感谢作者分享。这里的缺少了额一些图片,还是直接去你的 github 看更加直观。感谢!
    ziyitony
        55
    ziyitony  
       2017-09-23 17:17:33 +08:00
    @ziyitony 请问一下,为什么安装完之后,一切正常了都,但是 AriaNg 无法下载,下载普通 url 链接或者磁力链接都没有速度呢?
    ziyitony
        56
    ziyitony  
       2017-09-23 18:09:30 +08:00
    @ziyitony 清楚了,原来是 aria2 网页端显示不正常。实际上已经下载好了的。
    mjikop1231
        57
    mjikop1231  
       2017-09-25 10:55:45 +08:00 via iPhone
    nextcloud 在线预览 markdown 不能……感觉插件少的很……虽然还是比 filerun 好……
    ziyitony
        58
    ziyitony  
       2017-09-25 16:04:09 +08:00
    @Helen 非常感谢,我也是删除没权限,目前正在修改目录权限,看看改完之后行不行。
    ziyitony
        59
    ziyitony  
       2017-09-25 16:08:57 +08:00
    @ziyitony 可行!
    Akkuman
        60
    Akkuman  
       2017-09-26 09:19:45 +08:00 via Android
    可以试试搭配 QOwnNote,然后就成了一个可以云同步加历史记录倒退的 markdown 笔记软件
    icecooler
        61
    icecooler  
       2017-11-21 13:02:16 +08:00
    @ziyitony 怎么修改的目录权限,我的咋不行
    ziyitony
        62
    ziyitony  
       2017-11-21 13:49:51 +08:00
    @icecooler 全部 777,然后关闭服务重新安装。如何关闭参见作者的 git issue
    moqiao
        63
    moqiao  
       2017-12-23 16:49:18 +08:00
    @ziyitony #62 但是每次通过 aria 新下载下来的东西还是没有权限。
    wahyd4
        64
    wahyd4  
    OP
       2017-12-23 17:35:48 +08:00
    @moqiao 主要还是你自己目录的权限的问题哦
    moqiao
        65
    moqiao  
       2017-12-23 17:39:07 +08:00
    @wahyd4 #64 已经给了 data 下所有目录 777 权限了。
    wahyd4
        66
    wahyd4  
    OP
       2017-12-23 17:42:01 +08:00
    @moqiao 你是用什么用户运行 docker 呢?
    wahyd4
        67
    wahyd4  
    OP
       2017-12-23 17:42:46 +08:00
    @moqiao 如果是非 root 用户,可能是因为授予的权限不够
    moqiao
        68
    moqiao  
       2017-12-23 17:43:56 +08:00
    @wahyd4 #66 确实是非 root 用户
    wahyd4
        69
    wahyd4  
    OP
       2017-12-23 17:48:39 +08:00   ❤️ 1
    @moqiao 最好使用 root 用户来运行 docker 程序。
    moqiao
        70
    moqiao  
       2017-12-23 17:54:18 +08:00
    @wahyd4 #69 就是怕 root 权限太大,搞坏东西,所以用了普通用户。
    xiaoyanbot
        71
    xiaoyanbot  
       2018-02-15 23:08:03 +08:00
    很赞
    wssy921
        72
    wssy921  
       2018-05-19 16:19:17 +08:00
    @wahyd4 在本地下载磁力链接,速度很慢。vps 上会快很多吗?还是说我找的 trackers 服务器不行,速度太慢?
    wahyd4
        73
    wahyd4  
    OP
       2018-05-21 10:55:29 +08:00
    @wssy921 和 trackers 服务器有比较大的关系
    DopaminePlz
        74
    DopaminePlz  
       2020-01-30 17:34:22 +08:00 via Android
    收藏一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2667 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 12:20 · PVG 20:20 · LAX 05:20 · JFK 08:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.