需要工具
- 至少两台设备:windows、mac、Android、Ios
- 云服务器 ECS
- 域名
- NPM(nginx proxy manager)、Docker compose
步骤
1. 服务器配置
- 在 DNS 中添加 A 记录,如
clip记录至<服务器 IP> - 在 NPM 中反代:
Domain Names:clip.milkmangotea.top
Forward Hostname / IP:syncclipboard-server
Forward Port:5033
勾选:Websockets Support、Block Common Exploits
自行配置SSL
2. 在服务器部署 SyncClipboard
version: "3.8"
services:
syncclipboard-server:
image: docker.1ms.run/jericx/syncclipboard-server:latest
container_name: syncclipboard-server
restart: unless-stopped
environment:
- SYNCCLIPBOARD_USERNAME=<your_user_name>
- SYNCCLIPBOARD_PASSWORD=<your_password>
volumes:
# 如果不需要改端口/证书,可以先不挂这行,让镜像自带的配置生效
- ./appsettings.json:/app/appsettings.json:ro
expose:
- "5033" # 只在 docker 网络内开放给 NPM
networks:
- proxy_net # 加入和 NPM 相同的网络
networks:
proxy_net:
external: true # 使用已有的 proxy_net 网络,而不是创建新的
appsettings.json 是在同目录下自行创建的 json 文件,内容可参考下方。注意千万不能有同名的目录。
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"Kestrel": {
"Endpoints": {
"http": {
"Url": "http://*:5033"
}
}
},
"AppSettings": {
"UserName": "<your_user_name>",
"Password": "<your_password>"
}
}
注意,请根据 docker inspect <npm 容器名> | grep -A5 '"Networks"' 确认需要加入的 npm 网络,如果 NPM 没有网络,需要自行创建一个。
如:
docker network create proxy_net
并且在 NPM 的网络组中加入相关配置。
需要同步剪贴板的主机配置
在 https://github.com/Jeric-X/SyncClipboard 的 release 页面下载对应的安装包
注意,此安装包无法通过 mac 的检验,需要在终端使用:
sudo xattr -r -d com.apple.quarantine /Applications/SyncClipboard.app提供安装权限。
配置如图,注意不要勾选上方的「服务器」
- 服务器类型:SyncClipboard 服务器(不要选 WebDAV / 本地文件夹)
- URL:
https://clip.milkmangotea.top(注意带 https、末尾不要/) - 用户名/密码:和 Docker 环境变量一致