Syncthing-Docker镜像页面:
【重要】务必设置用户名和密码,否则任何人都可以访问
【重要】若与其他容器应用搭配使用,尽量使用root(即PUID=0),或所有容器应用使用相同用户组,否则无法读写。
【重要】若服务器已运行很多服务,不清楚端口是否被占用,执行 " telnent 127.0.0.1 port " 测试。
用法:
docker-compose文件:
前台运行观测:" docker compose -f syncthing.yml up ",浏览器 IP:8384 即可访问,
没问题后转后台运行:" docker compose -f syncthing.yml up -d"
version: '3'
services:
syncthing: #唯一
container_name: syncthing #唯一
image: linuxserver/syncthing:latest
hostname: syncthing #自定义容器主机名root@syncthing,默认随机或继承宿主机不易于识别
environment:
- PUID=0 #以root权限运行应用,否则无法读取其他docker目录或者宿主机root目录
- PGID=0
- TZ=Etc/UTC
volumes:
- ./appdata/config/:/config/
- /root/docker/hentaiathome/:/hentaiathome/
restart: unless-stopped
ports:
- 8384:8384
- 22000:22000/tcp
- 22000:22000/udp
- 21027:21027/udp
#network_mode: "host" #主机模式.无需预先映射端口
坑点说明:
- 使用root权限运行,webui会警告不建议这么使用,但我们不接受建议:
- Syncthing should not run as a privileged or system user. Please consider using a normal user account.
- 因为如果不用root权限运行,当调用其他root应用创建的目录和文件时,会报错:
- “Failed to create folder marker: mkdir ./.stfolder: permission denied”
- “Error on folder "abc" (spr9f-dexpz): folder marker missing (this indicates potential data loss, search docs/forum to get information about how to proceed)”