目标:安装syncthing后配置文件存储在外接硬盘中防止丢失,能开机以非管理员账户自动运行

安装

下载链接:https://github.com/syncthing/syncthing/releases/ 找到目标平台的最新安装包

  1. wget https://github.com/syncthing/syncthing/releases/download/v1.3.2/syncthing-linux-arm64-v1.3.2.tar.gz
  2. tar zxvf syncthing-linux-arm64-v1.3.2.tar.gz
  3. sudo cp syncthing-linux-arm64-v1.3.2/syncthing /usr/bin/
  4. syncthing -generate="外接硬盘配置文件路径" #Generate key and config in specified dir, then exit

配置开机启动

安装包解压后自带服务配置文件,因为想指定目录存储配置文件,所以要稍微调整下

  1. vim syncthing-linux-arm64-v1.3.2/etc/linux-systemd/system/syncthing@.service
  2. [Service]
  3. User=%i
  4. ExecStart=/usr/bin/syncthing -home="外接硬盘配置文件路径" -no-browser -no-restart -logflags=0
  1. sudo cp syncthing-linux-arm64-v1.3.2/etc/linux-systemd/system/syncthing@.service /etc/systemd/system/
  2. mv /etc/systemd/system/syncthing@.service /etc/systemd/system/syncthing@普通用户名.service
  3. systemctl enable syncthing@普通用户名.service #添加开机启动

配置远程访问

由于 syncthing 默认只允许本地访问管理界面,为了实现通过互联网访问管理界面,需要修改 syncthing 的配置文件:
vim 外接硬盘配置文件路径/config.xml
将配置文件中的

127.0.0.1:8384
修改为
0.0.0.0:8384

  1. systemctl start syncthing@普通用户名.service #启动
  2. systemctl status syncthing@普通用户名.service #检查是否报错

现在可以用浏览器访问 IP:8384 打开管理界面,都是图形界面 就不再细说

注意事项:

syncthing解压后自带的服务配置文件syncthing-linux-arm64-v1.3.2/etc/linux-systemd/目录下的文件夹 system 和 user 分别对应/etc/systemd/目录下system和user

  • The user instance stuff with --user is intended to be used on a desktop computer. Syncthing starts when you log in ; and it stops when you log out.e.g.: systemctl --user start syncthing.service
  • The system instance stuff is useful for a server. Syncthing then starts during the normal bootup sequence and stays running. To be able to specify the user, there is the templating stuff with @, e.g.: systemctl start syncthing@hans.service.

syncthing@普通用户名.service 检查后如果发现错误
Failed to start Syncthing - Open Source Continuous File Synchronization for

  • 配置文件所在目录 对应的用户是否有权限 可用 chmod 777 配置文件所在目录
  • 参考第1条注意事项 将system和user下的服务配置文件搞混
  • journalctl -xe 检查日志

所同步的文件夹对应的普通用户必须拥有读写权限,

  • chown -R 普通用户名 同步的文件目录 #将目录的所有者改为对应的用户
  • chgrp -R users 同步的文件目录 #将目录的所有者组改为普通用户组

开启SSL

在配置文件所在的目录,有https-cert.pem和https-key.pem,可以将它们替换为申请到的证书和对应的私钥。cert.pem和key.pem是用于文件同步协议的证书,不要替换。如果证书过期需要变更,替换文件后还要重启syncthing,注意程序启动的时候会检查证书的公钥与私钥是否配对,有问题的会生成自签名的证书