Syncthing: 搭建穿nat私云和FTP服务器的方案说明

  • 现状:【24小时云】
    私云syncthing已有,但主力节点在主力笔记本上,无法24小时支持。导致其它节点,比如两个手机和工作电脑都若即若离,私云形同虚设。
  • 现状:【日常文档云同步】
    每天需要备份同步工作文档和代码,目前需要手动u盘同步,导致经常忘了,回家继续工作看不到最新文档,十分别扭。
  • 现状:【集中管理文件】
    比如要装机了,比如手机要刷机了,比如电脑要重装了,比如外出带一些指定文件,需要能够快速集中调度所有的文件和程序。
  • 现状:【闲置X61】
    自从换了单位后,不需要自己跑自动化了,X61搭建的CentOS7服务器只有偶尔的试验一下命令用,完全的24小时开机,却没有承担任何任务。
  • 现状:【多端设备日常使用】
    有两个手机,有点什么就插线,新照片,新小说,总之老要传输很麻烦,而且大多手动管理,再一个经常折腾刷机还会丢一些掉,除了手机还有笔记本两台,后续可能还有新的,需要大量的个人文件保持一致性。
  • 现状:【降低终端存储负担】
    现在手机笔记本标价,容量价格还是很贵的,再一个每个端都存一堆文件,最终很乱,所以急需一个云端角色。

解决方案:穿NAT私云同步+FTP局域网云盘+单机设备间同步

  • 设备:X61 T7100 4G 1TB

    解决了【24小时云】问题
    这次改造,再次发挥X61的价值。平时让电脑闲置着,真是辱没了X61当年的威名。至少在之前一年,24小时运行着CentOS服务器以来从没死过卡过,跑着python3.6的项目监控自动化,这可是十年前的古董啊。

  • 私云:syncthing云同步方案

    解决了【日常文档云同步】【闲置X61】【多端设备日常使用】

    1. syncthing搭建在X61上,并且存放最完整的文件资料,充当24小时运行的主节点。其它笔记本,手机等等都可以安装win或安卓版,自动加入进来定制同步方案。
    2. syncthing有Web管理界面,非常方便,web服务无法穿NAT,正好我还有个花生棒,对付这种小流量的指令界面访问还是很轻松的。
    3. syncthing的同步服务,无视NAT,不管是局域网还是外网,一律能连接。
    4. syncthing有多系统平台,基本适应所有设备。

    部署详情:待整理


  • FTP:docker-compose方式提供微服务

    解决了【降低终端存储负担】【集中管理文件】
    1. FTP的终端很多,很容易对接,比如手机文件管理器xplore、ES等都可以访问FTP文件,电脑里有FlashFXP等,
    2. FTP适应全系统平台,
    3. FTP共享文件,减少局域网里每个设备的存储容量的依赖,尤其是安装包,操作系统备份文件,电影这种又大,使用频率又低的文件。
    4. FTP缺陷是无法穿NAT,目前宽带都没有公网IP了,路由映射也没啥用,花生棒能用的不便宜。暂时主要场景还是局域网里的文件服务器。
    5. FTP管理的目录与私云目录一致,也就是说这些文件接受双重管理,但不管是FTP还是sync,都管理不到u盘,所以为了减少手动操作FTP更新文件,这里再加入单机同步软件。

    部署详情:pure-ftpd: 使用docker快速搭建ftp服务


  • GoodSync:exe单机同步软件

    对【日常文档云同步】一个补充,单机同步机制
    1. GoodSync可云可单机,这里主要用于管理主力笔记本和工作电脑与U盘的交互,每个云节点上的文件,与U盘等介质做单机同步时,可以避免手动复制出错。
    2. GoodSync还可以连接硬盘与FTP,u盘与手机等等,只要电脑能读取的,他都能左右同步。
    3. GoodSync支持自动任务,触发任务,设置灵活。
    4. 缺点是收费的,嘿嘿

    部署详情:这个具体内容就不贴了,大家自己找吧


  • Gitlab:远程代码仓库

    代码文件,抽离出做专门管理
    1. Linode买的服务器目前利用率很低,可以搭个代码管理服务,向工作电脑,主力笔记本,主力手机提供git仓库服务。
    2. 个人的代码管理模式与文件不同,更多还是版本管理,冲突管理,变更记录。

    部署详情:待整理


通过以上整套方案,实现所有场景文件管理,
比如工作文档和技术文档多端同步和多地编辑,
快速装机需要,
手机里的音乐小说同步,
主要设备操作系统使用的备份存档,
个人项目和脚本管理,
u盘随时拉取自定义的内容构成...