200字
使用ESC部署SyncClipboard同步剪贴板
2025-11-17
2025-11-17

需要工具

  • 至少两台设备: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 环境变量一致

评论