微信上云:Docker 部署 WeChat Selkies

WeChat Selkies 是一个基于 Docker 的开源项目,允许用户通过浏览器访问微信和 QQ,而无需在本地安装客户端。它支持多种现代浏览器,提供数据持久化、自动启动、音频输出等功能,适用于 NAS 或云服务器。部署前需准备 Docker 环境,提供详细的安装步骤和环境变量配置,并强调安全与隐私注意事项。
微信上云:Docker 部署 WeChat Selkies
icon
网址
type
Post
status
Published
date
Mar 6, 2026
slug
wechat-selkies-docker-setup
summary
WeChat Selkies 是一个基于 Docker 的开源项目,允许用户通过浏览器访问微信和 QQ,而无需在本地安装客户端。它支持多种现代浏览器,提供数据持久化、自动启动、音频输出等功能,适用于 NAS 或云服务器。部署前需准备 Docker 环境,提供详细的安装步骤和环境变量配置,并强调安全与隐私注意事项。
tags
docker
开源
教程
category
技术分享
内容形式
完成日期
URL
想要在任何设备上只用浏览器就能访问自己的微信或 QQ,而不用或者无法在本机安装客户端,可以部署 WeChat Selkies 开源项目。它将官方微信/QQ 的 Linux 客户端封装进 Docker 容器,通过 Selkies WebRTC 技术把桌面界面“投射”到浏览器里,让你在云端使用 Linux 微信/QQ 终端,而不是功能阉割的网页版。

WeChat Selkies 是什么?

WeChat Selkies 是一个“基于 Docker 的微信/QQ Linux 客户端,通过 Selkies WebRTC 提供浏览器访问支持”。
它的主要特性包括:
  • 浏览器访问:支持 Chrome、Firefox、Safari 等现代浏览器,免本地安装微信/QQ
  • 容器化部署:使用 Docker 封装官方 Linux 版微信/QQ,环境隔离、易迁移
  • 数据持久化:配置与聊天记录可以挂载到宿主机目录长期保存
  • 完整中文体验:内置中文字体,支持本地中文输入法
  • 图片与文件:支持复制粘贴图片、上传下载文件
  • 多架构支持:镜像同时支持 AMD64 和 ARM64,可运行在 x86 服务器和 ARM NAS 上
  • 自动启动:支持配置自动启动微信和/或 QQ 客户端
典型适用场景有:
  • 把微信/QQ 长期跑在 NAS 或云服务器上,本地设备随时通过浏览器接入
  • 企业/团队共享一个“云端微信终端”,方便值班或轮岗场景
  • 在无权安装软件的办公电脑上,用浏览器访问自己的微信/QQ

基本原理:Selkies + Docker

WeChat Selkies 底层基于 LinuxServer.io 的 Selkies baseimage,它提供了一个“通过 WebRTC 暴露 Linux 桌面”的容器基础镜像。
整体技术栈简要来说包括:
  • Selkies:负责将容器中的 Linux 桌面通过 WebRTC 流式传输到浏览器
  • NGINX:作为 Web 入口,处理 HTTPS 和 WebSocket
  • PulseAudio:提供音频输出,向浏览器推送声音
  • Docker:封装运行环境,实现隔离和快速部署
  • 官方微信/QQ Linux 客户端:负责全部 IM 功能和协议
你可以把它想象成:在服务器里运行了一台带图形界面的 Linux,打开了微信/QQ,然后通过浏览器远程桌面进去使用。

部署前准备

在实际部署之前,你需要准备好以下条件(以 NAS/服务器为例):
  • 已安装 Docker 和 Docker Compose
  • 设备有可访问的 IP(内网或公网均可)
  • 可以通过 SSH 或终端执行命令
  • 浏览器支持 WebRTC(现代浏览器基本都支持)
下面的示例使用相对路径和示例 UID/GID,适用于大多数 Linux 服务器、NAS(群晖、威联通、极空间等),你只需要根据自己环境调整 PUIDPGID 和端口映射即可。

部署教程:Docker Compose 方式

第一步:创建项目目录

在服务器或 NAS 上创建一个用于存放配置的目录,例如:
这里的 /opt/wechat-selkies 只是示例路径,你也可以用 /volume1/docker/wechat-selkies(群晖)等其他路径。

第二步:编写 docker-compose.yml

官方 README 提供了 Docker Compose 示例,下面是一个通用版本,已经替换为相对路径和示例 UID/GID:github+2
如果你的系统中 /dev/dri 不存在,或者不需要 GPU 加速,可以先注释掉 devices 这一行再测试。

第三步:启动容器

docker-compose.yml 所在目录执行:
Docker 会自动拉取 WeChat Selkies 镜像并启动容器,镜像体积较大,首次拉取可能需要一些时间。
检查容器是否正常运行:
如需查看运行日志(用于排错):

第四步:浏览器访问微信/QQ

容器启动完成后,在浏览器中访问(假设服务器 IP 为 192.168.1.10):
  • HTTP:http://192.168.1.10:3000
  • HTTPS(推荐):https://192.168.1.10:3001
第一次通过自签名证书访问时,浏览器可能提示连接不安全,你可以选择继续访问,或者后续通过反向代理和域名配置正式证书。
进入页面后,你会看到一个远程桌面界面,其中包含微信/QQ 图标,登录方式与本地 Linux 客户端一致,扫码或账号密码登录即可。
聊天记录、设置等数据都会保存在 ./config 目录中,容器重启或镜像升级后依然会保留。
界面和本地客户端一样
界面和本地客户端一样

数据持久化与升级维护

WeChat Selkies 将配置和数据统一存放在容器内 /config 目录,我们已经通过 Volume 映射到当前目录下的 ./config
  • 持久化目录(相对路径):./config
  • 典型内容:微信/QQ 配置、聊天记录、桌面环境配置等
当你需要升级镜像或重新部署时,可以这样操作:
如果升级后发现右键菜单中丢失 WeChat 相关选项,官方建议清空挂载目录下的 openbox 配置后再重启容器:

常用环境变量速查表

下表是一些常用环境变量,它们可以直接在 docker-compose.yml 中配置:
变量名
示例值
说明
PUID
1000
宿主机用户 ID,决定文件属主
PGID
1000
宿主机用户组 ID
TZ
Asia/Shanghai
时区
LC_ALL
zh_CN.UTF-8
语言环境
TITLE
WeChat Selkies
Web UI 标题
CUSTOM_USER
自定义
Web UI 登录用户名
PASSWORD
自定义
Web UI 登录密码
AUTO_START_WECHAT
true
是否自动启动微信客户端
AUTO_START_QQ
false
是否自动启动 QQ 客户端
在公网环境中部署时,强烈建议设置 CUSTOM_USERPASSWORD,避免任何人都可以打开你的云端桌面。

安全与隐私注意事项

虽然 WeChat Selkies 使用的是官方 Linux 版微信/QQ 客户端,从协议层面来看与本地客户端一致,但涉及账号安全和隐私时,仍然有几点需要注意:
  • 尽量部署在自己控制的服务器或 NAS 上,避免使用来路不明的共享服务
  • 公网暴露时务必设置访问密码,并通过 HTTPS 传输
  • 容器内同样可以被恶意软件截图/录屏,因此服务器本身的安全也很重要
  • 避免在不可信网络环境中使用弱密码或复用密码
  • 如果你设置反代理使用了 https,注意映射到项目的 https 端口(例子里是3001),否则会报错
和所有云端 IM 方案一样,便利性和风险是并存的,需要根据个人实际情况权衡使用。

写在最后

WeChat Selkies 对于 NAS 玩家和云服务器用户来说,是一个非常有意思的项目:它把微信/QQ 从“本机应用”变成了“云端服务”,你只需要一个浏览器就能随时接入自己的聊天终端。
无论你是希望解放桌面、集中管理会话,还是单纯想在 NAS 上多折腾一个“云端微信”,都值得试着部署一套体验一下。
上一篇
The most valuable human capital
下一篇
【中英对照】达利欧:世界秩序真的要崩了(下)——从二战看秩序崩解大周期
Loading...