
t4skforce/syncthing-discoverysyncthing-discosrv是Syncthing项目的全局发现服务器Docker容器。由于官方镜像已几乎停止更新(撰写时最后构建距今一年),本镜像跟踪发现服务器GitHub仓库的代码变更,确保在有代码更新时自动构建最新版本。该容器适用于希望搭建自己的私有Syncthing“云”的用户。
容器相关文件可在GitHub仓库获取。
ubuntu:latest构建,安装最新成功构建的Syncthing发现服务器适用于需要搭建私有Syncthing发现服务的用户,解决官方镜像过时问题,确保Syncthing设备间的发现功能稳定可靠,尤其适合企业或个人搭建独立的Syncthing同步网络。
通过以下命令运行容器:
bashdocker run --name syncthing-discovery -d -p 22026:22026 --restart=always t4skforce/syncthing-discovery:latest
证书和所有数据默认存储在/home/discosrv/目录。推荐将证书目录挂载为持久化卷:
bashdocker run --name syncthing-discovery -d -p 22026:22026 -v /your/home:/home/discosrv/certs --restart=always t4skforce/syncthing-discovery:latest
若已生成证书并希望保护目录不被容器修改,使用只读挂载:
bashdocker run --name syncthing-discovery -d -p 22026:22026 -v /your/home:/home/discosrv/certs:ro --restart=always t4skforce/syncthing-discovery:latest
容器进程需要访问证书目录,执行以下命令创建并授权:
bashmkdir -p /your/home/certs chown -R 1000:1000 /your/home/certs
按照以下步骤升级容器:
bash# 下载更新 docker pull t4skforce/syncthing-discovery:latest # 停止当前运行的镜像 docker stop syncthing-discovery # 删除容器 docker rm syncthing-discovery # 使用新基础镜像启动 docker run --name syncthing-discovery -d -p 22026:22026 -v /your/home:/home/discosrv/certs:ro --restart=always t4skforce/syncthing-discovery:latest # 清理无用镜像 docker rmi -f $(docker images | grep "<none>" | awk "{print \$3}") > /dev/null 2>&1
通过systemd实现系统启动时自动运行服务。创建服务文件/lib/systemd/system/syncthing-discovery.service:
ini[Unit] Description=Syncthing发现服务器 Requires=docker.service After=docker.service [Service] Restart=always ExecStart=/usr/bin/docker start -a syncthing-discovery ExecStop=/usr/bin/docker stop -t 2 syncthing-discovery [Install] WantedBy=multi-user.target
手动启动服务并检查状态:
bashsystemctl start syncthing-discovery systemctl status syncthing-discovery
设置开机自启:
bashsystemctl enable syncthing-discovery
结合自动启动功能,通过脚本和定时任务实现容器自动升级。
创建/root/syncthing-discovery_upgrade.sh:
bash#!/bin/bash # 证书目录路径 CERT_HOME="/your/home/certs" # 下载更新 docker pull t4skforce/syncthing-discovery:latest # 停止服务 systemctl stop syncthing-discovery # 删除容器 docker rm syncthing-discovery # 启动新容器 docker run --name syncthing-discovery -d -p 22026:22026 -v ${CERT_HOME}:/home/discosrv/certs:ro --restart=always t4skforce/syncthing-discovery:latest # 停止容器(通过服务启动) docker stop syncthing-discovery # 通过服务启动 systemctl start syncthing-discovery # 清理无用镜像 docker rmi -f $(docker images | grep "<none>" | awk "{print \$3}") > /dev/null 2>&1
bashchmod +x /root/syncthing-discovery_upgrade.sh
编辑/etc/crontab,添加每周日午夜执行升级:
bash# /etc/crontab: 系统级定时任务 # 无需运行`crontab`命令即可生效,与其他crontab不同,包含用户名字段 SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) # Syncthing发现服务器Docker容器自动升级 0 0 * * 7 root /root/syncthing-discovery_upgrade.sh




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务