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

写了一个自托管服务搭建的脚本,可以快速基于 Docker 和 ipv6 搭建自己的自托管服务

  •  
  •   THESDZ · 2022-03-26 15:19:20 +08:00 · 3854 次点击
    这是一个创建于 1007 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目缘由

    隐私问题,版权割裂,...等等越来越影响到个人生活,所以想自托管一些服务

    项目说明

    • 使用 docker 环境构建
      • 便于备份 /迁移 /无人托管
      • 屏蔽操作系统差异
    • cloudflare-ddns
    • traefik 反向代理和自动 tls

    项目地址

    https://github.com/dezhishen/self-hosted-server-traefik

    目前应用清单

    名称 说明 安装选项 官网
    ddns 用于动态 ddns 服务 必装 https://github.com/timothymiller/cloudflare-ddns/
    traefik 反向代理,自动 https 证书 必装 https://doc.traefik.io/traefik/
    adguardhome dns 服务器 强烈推荐 https://github.com/AdguardTeam/AdGuardHome
    aria2-pro 下载神器 推荐 https://github.com/P3TERX/Aria2-Pro-Docker
    aliyundrive-webdav 将阿里云盘代理为 webdav 访问 非必要 https://github.com/messense/aliyundrive-webdav
    filebrowser web 端文件管理器 推荐 https://github.com/filebrowser/filebrowser
    freshrss rss 订阅器 推荐 https://github.com/FreshRSS/FreshRSS
    portainer 容器管理平台 推荐 https://github.com/portainer/portainer
    samba smb 协议的内网文件共享 强烈推荐 https://github.com/dperson/samba
    vaultwarden 用 Rust 编写并与上游 Bitwarden 客户端兼容的 Bitwarden 服务器 API 的替代实现 推荐 https://github.com/dani-garcia/vaultwarden
    vaultwarden-back vaultwarden 的备份程序 推荐 https://github.com/ttionya/vaultwarden-backup
    webdav 基于 nginx 的 webdav 服务 非必要 https://github.com/dezhishen/docker-nginx-webdav

    希望给出更多这方面的建议

    • 音乐
      • pc 使用 musicbee 挂载 webdav/smb
      • app 使用 MARU audio 听 webdav 里面的歌曲
    第 1 条附言  ·  2022-03-29 15:29:39 +08:00
    • traefik 直接挂载 docker.sock 具有安全隐患

    • 解决方案

      • 通过dockerproxy挂载docker.sock暴露 tcp://dockerproxy:2375
      • 设置dockerproxy权限只有查询,且权限范围只有CONTAINERSNETWORKS
      • traefik接入tcp://dockerproxy:2375
    • 详情看 https://github.com/traefik/traefik/issues/4174

    第 2 条附言  ·  2022-04-04 17:08:56 +08:00

    1.增加了影音相关的容器

    1.1.主要改动

    1.1.1.增加影音

    • emby
    • jellyfin
    • ombi
    • prowlarr
    • radarr
    • readarr
    • sonarr

    1.1.2.增加下载

    • nzbget
    • qbittorrent
      • qbittorrent 加入macvlan网络,方便upnp

    1.1.3.增加v2raya

    • v2raya加入macvlan网络,方便其他局域网机器使用

    1.2.bug修复

    • 指定traefik 使用的Docker网络为 bridge
    • 部分容器内存使用调整

    1.3.注意实现

    • 加入macvlan后,内网如果有机器中招,可能导致macvlan内的容器被发现和访问
    9 条回复    2022-03-27 09:42:33 +08:00
    dann73580
        1
    dann73580  
       2022-03-26 15:38:26 +08:00
    一键脚本是没想到的……目前都是用 docker-compose ,其实体验还不错,补充一下一些常见(自用)的自托管服务吧:

    音乐:Navidrome ,一个现代化界面的,轻量的,兼容 Subsonic-API 的项目
    视频 /追剧:jellyfin ,付费的用 emby ,jellyfin 是 emby 的开源分支
    多存储目录程序 :Alist ,支持多云,支持本地存储,支持 webdav
    自托管导航页:功能高大全的 dashy ,轻量简单的有 flame
    邮件 :docker-mailserver ,一个最小化的邮件托管服务器
    THESDZ
        2
    THESDZ  
    OP
       2022-03-26 16:00:18 +08:00
    @dann73580 #1

    个人觉得,上 docker-compose 的话,不如直接上 k3s/dockerswarm

    这个的项目作为私人托管服务,追求简单和稳定,目前使用下来,docker 够用,就不上 docker-compose 了


    一键脚本其实就是想要降低使用成本(虽然没啥太大意义,一般部署完就不管了)

    - alist 有个问题,webdav 的加密不支持通配符,放在外网不是很安全
    - Navidrome 之前有用过,实际体验下来不如我目前的方案
    - jellyfin 目前在用,但是不知道文件从哪里来
    - docker-mailserver 这个后续看看

    - 现在缺少一个 wiki 之类的,之前有用过 Nextcloud+onlyoffice,但是我现在的场景是轻量为主
    dann73580
        3
    dann73580  
       2022-03-26 16:09:30 +08:00
    @THESDZ 个人场景,docker-compose 配合 portainer 的话,可以无缝保存所有配置,而且配置可读性会比较强。个人浅见 k3s 还是太重了……
    jellyfin 一般你需要个 pt 站或者 bt 站去爬。
    如果只是 wiki 的话,喜欢静态生成可以用 MkDocs ;或者你可以直接用 wiki 主题的博客,比 nextcloud 轻量一些。
    另外你有 Nextcloud 的话为啥还要单独配一个 webdav 服务器呢?
    THESDZ
        4
    THESDZ  
    OP
       2022-03-26 16:13:30 +08:00
    @dann73580 #3

    nextcloud 性能太拉跨,尤其是很多小文件的时候,放弃使用了
    dann73580
        5
    dann73580  
       2022-03-26 16:22:38 +08:00
    @THESDZ 试试 filerun
    DataSheep
        6
    DataSheep  
       2022-03-26 16:32:32 +08:00 via iPhone
    请问 ad home 怎么跟 clash 配合使用呢?还是说使用 clash 进行 dns 配置也可以?不在家的话有没有好的方案。希望指点一下
    THESDZ
        7
    THESDZ  
    OP
       2022-03-26 16:49:24 +08:00
    @DataSheep #6
    adhome 是一个 dns 的服务
    - clash 这个不清楚
    - 我这个完整的方案需要有域名解析到 ipv6 的公网地址
    - 外网和内网访问方式完全一致,通过域名访问就行
    c0xt30a
        8
    c0xt30a  
       2022-03-26 17:17:50 +08:00
    补充下我用的但没有出现在上文的 container 给 OP 做参考
    - PeerTube 管理收集到的来自网络的视频文件(来自电报 /P 站 /twitter/抖音 等不便分类而且肯定没有 imdb 索引的)
    - Whoogle 搜索
    - Overleaf 文章编辑
    - Seafile 网盘
    - Gitea 代码
    - Calibre 电子书
    - IFM 做 wiki 中的图片 /视频外链服务 ( https://github.com/misterunknown/ifm)
    - Syncthing 备份
    - MatterMost 自建频道用机器人推送消息用作收集
    Junzhou
        9
    Junzhou  
       2022-03-27 09:42:33 +08:00
    @dann73580 楼上说关于 docker-compose 的,我这里提供几个 docker-compose 启动脚本的汇集仓库 -》 https://github.com/MoshiCoCo/docker-compose-hub
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   956 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:30 · PVG 04:30 · LAX 12:30 · JFK 15:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.