中文 | English
基于 Docker 的微信/QQ Linux 客户端,使用 Selkies WebRTC 技术提供浏览器访问支持。
本项目将官方微信/QQ Linux 客户端封装在 Docker 容器中,通过 Selkies 技术实现在浏览器中直接使用微信/QQ,无需在本地安装微信/QQ 客户端。适用于服务器部署、远程办公等场景。
如果升级后部分功能缺失,请先清空本地挂载目录下的openbox目录(如
./config/.config/openbox)。
仓库内置了上游微信版本自动检测机制:GitHub Actions 会定时检查官方
.deb包版本,检测到变化后自动更新versions/upstream.env并触发镜像构建。
- 🌐 浏览器访问:通过 Web 浏览器直接使用微信,无需本地安装
- 🐳 Docker化部署:简单的容器化部署,环境隔离
- 🔒 数据持久化:支持配置和聊天记录持久化存储
- 🎨 中文支持:完整的中文字体和本地化支持,支持本地中文输入法
- 🖼️ 图片复制:支持通过侧边栏面板开启图片复制
- 📁 文件传输:支持通过侧边栏面板进行文件传输
- 🖥️ AMD64和ARM64架构支持:兼容主流CPU架构
- 🔧 硬件加速:可选的 GPU 硬件加速支持
- 🪟 窗口切换器:左上角增加切换悬浮窗,方便切换到后台窗口,为后续添加其它功能做基础
- 🤖 自动启动:可配置自动启动微信和QQ客户端(可选)
- 📋 桌面快捷方式集成:自动扫描
~/Desktop/下的.desktop文件并添加到右键菜单,方便启动第三方应用(如通过 proot-apps 安装的应用) - 📂 文件管理器:内置 PCManFM 轻量文件管理器,右键菜单即可启动,方便管理容器内文件
- Docker
- Docker Compose
- 支持WebRTC的现代浏览器(Chrome、Firefox、Safari等)
- 直接使用已构建的镜像进行快速部署
GitHub Container Registry镜像:
docker run -it -p 3001:3001 -v ./config:/config --device /dev/dri:/dev/dri ghcr.io/nickrunning/wechat-selkies:latestDocker Hub镜像:
docker run -it -p 3001:3001 -v ./config:/config --device /dev/dri:/dev/dri nickrunning/wechat-selkies:latest精简版镜像:如果只需要微信(不含 QQ 和文件管理器),可使用
minimal标签,镜像体积更小:docker run -it -p 3001:3001 -v ./config:/config --device /dev/dri:/dev/dri ghcr.io/nickrunning/wechat-selkies:minimal精简版也支持版本号标签,如
:1.2.3-minimal、:1.2-minimal,方便锁定特定版本。
-
访问微信
在浏览器中访问:
https://localhost:3001或https://<服务器IP>:3001注意: 映射3000端口用于HTTP访问,3001端口用于HTTPS访问,建议使用HTTPS。
-
创建项目目录并进入
mkdir wechat-selkies cd wechat-selkies -
创建 docker-compose.yml 文件
services: wechat-selkies: image: nickrunning/wechat-selkies:latest # or ghcr.io/nickrunning/wechat-selkies:latest container_name: wechat-selkies ports: - "${HTTP_PORT:-3000}:3000" - "${HTTPS_PORT:-3001}:3001" restart: unless-stopped volumes: - ./config:/config devices: - /dev/dri:/dev/dri environment: - PUID=${PUID:-1000} - PGID=${PGID:-100} - TZ=Asia/Shanghai - LC_ALL=zh_CN.UTF-8 - AUTO_START_WECHAT=true - AUTO_START_QQ=false - CUSTOM_USER=${CUSTOM_USER:-} - PASSWORD=${PASSWORD:-} shm_size: "${SHM_SIZE:-1gb}"
-
创建
.env文件(可选)复制
.env.example并按需修改,未设置的变量将使用默认值:cp .env.example .env
.env文件示例:HTTP_PORT=3000 HTTPS_PORT=3001 PUID=1000 PGID=100 # CUSTOM_USER= # PASSWORD= SHM_SIZE=1gb
-
启动服务
docker compose up -d
-
克隆项目
git clone https://github.com/nickrunning/wechat-selkies.git cd wechat-selkies -
启动服务
docker compose up -d
-
访问微信
在浏览器中访问:
https://localhost:3001或https://<服务器IP>:3001
构建精简版:源码部署时可通过 build-arg 构建仅含微信的精简镜像:
docker build --build-arg INSTALL_QQ=false --build-arg INSTALL_PCMANFM=false -t wechat-selkies:minimal .
更多自定义配置请参考 Selkies Base Images from LinuxServer。
本项目支持同时推送到 GitHub Container Registry 和 Docker Hub。如需启用 Docker Hub 推送功能,请在仓库下添加Environment Secrets和Environment Variables:
Environment Secrets:
- DOCKERHUB_USERNAME: 你的 Docker Hub 用户名
- DOCKERHUB_TOKEN: 你的 Docker Hub Access Token Environment Variables:
- ENABLE_DOCKERHUB: 设置为
true来启用 Docker Hub 推送
在 docker-compose.yml 中可以配置以下环境变量,支持通过 .env 文件覆盖带有 ${VAR:-default} 的配置项:
| 变量名 | 默认值 | 说明 |
|---|---|---|
TITLE |
WeChat Selkies |
Web UI 标题 |
PUID |
1000 |
用户 ID |
PGID |
100 |
组 ID |
TZ |
Asia/Shanghai |
时区设置 |
LC_ALL |
zh_CN.UTF-8 |
语言环境 |
CUSTOM_USER |
- | 自定义用户名(推荐设置) |
PASSWORD |
- | Web UI 访问密码(推荐设置) |
AUTO_START_WECHAT |
true |
是否自动启动微信客户端 |
AUTO_START_QQ |
false |
是否自动启动 QQ 客户端 |
3001: Web UI 访问端口
./config:/config: 微信配置和数据持久化目录
注意: 如果升级后右键菜单缺少
./config/.config/openbox)。
本项目支持通过 proot-apps 安装第三方 Linux 应用。以 Telegram 为例:
- 在浏览器中打开容器桌面
- 点击左侧 侧边栏 → 应用程序(Applications)
- 在应用列表中找到 Telegram
- 点击 安装(Install)按钮,等待安装完成
安装完成后,应用快捷方式会自动出现在 ~/Desktop/ 目录下,右键菜单会自动刷新,无需重启容器即可从菜单中启动该应用。
提示: 如需卸载应用,同样通过侧边栏 → 应用程序,选中对应应用后点击 卸载(Uninstall)即可,右键菜单会自动更新。
如果您的系统支持 GPU 硬件加速,Docker Compose 配置中已包含相关设备映射:
devices:
- /dev/dri:/dev/driwechat-selkies/
├── docker-compose.yml # Docker Compose 配置文件
├── .env.example # 环境变量示例文件
├── Dockerfile # Docker 镜像构建文件
├── LICENSE # License
├── README.md # 项目说明文档
├── config/ # 配置和数据持久化目录
└── root/ # 容器初始化文件
├── defaults/
│ └── autostart # 自动启动配置
└── wechat.png # 微信图标
当微信或QQ提示"版本过期"时,只需重新拉取最新镜像并重建容器即可,聊天记录和配置不受影响:
# 使用预构建镜像
docker compose pull && docker compose up -d
# 使用源码构建
git pull && docker compose up -d --build注意: 微信和QQ的安装包 URL 指向官方最新版本,重新构建镜像时会自动下载最新版。
对于仓库维护者,当前自动化流程如下:
Detect Upstream Package Updates每 6 小时检查一次微信官方安装包版本,也支持手动触发- 如果检测到版本号或安装包哈希变化,工作流会更新
versions/upstream.env - 该文件变更提交到
master后,会自动触发Build and Publish Docker Image
版本状态文件位于 versions/upstream.env,当前记录了:
- 微信 amd64/arm64 下载地址
- 微信 amd64/arm64 解析出的版本号
- 微信 amd64/arm64 安装包 SHA256
- 最近一次发生变更的检测时间
- 无法访问 Web UI
- 检查端口 3001 是否被占用
- 确认 Docker 容器正常运行:
docker ps
查看容器运行日志:
docker compose logs -f wechat-selkies- 基础镜像:
ghcr.io/linuxserver/baseimage-selkies:ubuntunoble - 微信客户端:官方微信 Linux 版本
- Web 技术:Selkies WebRTC
- 容器化:Docker + Docker Compose
欢迎提交 Issue 和 Pull Request!
- Fork 本项目
- 创建特性分支:
git checkout -b feature/your-feature - 提交更改:
git commit -am 'Add some feature' - 推送分支:
git push origin feature/your-feature - 提交 Pull Request
本项目采用 MIT License 开源协议。详见 LICENSE 文件。
- 项目许可证: MIT License - 宽松的开源许可证
- 依赖项说明: 本项目使用 LinuxServer.io baseimage-selkies 作为基础镜像
- 许可证兼容性: 由于本项目仅使用基础镜像而未修改其源码,根据容器化软件的许可证实践,可以采用MIT许可证
- 源码开放: 完整项目源代码在 GitHub 上公开:https://github.com/nickrunning/wechat-selkies
本项目与腾讯公司无任何关联,属于独立的第三方开源项目。
- 微信® 是 腾讯公司 的注册商标和版权作品
- 本项目中使用的微信相关图标、logo 等视觉元素的版权归腾讯公司所有
- 本项目仅为技术展示和学习目的,不用于商业用途
- 如有版权争议,将立即移除相关内容
- 本项目严格遵守相关法律法规和用户协议
- 用户使用本项目时应遵守当地法律法规
- 本项目不对用户的使用行为承担法律责任
- 如腾讯公司认为存在侵权行为,请联系我们立即处理
- 本项目仅供学习、研究和个人使用
- 禁止用于任何商业目的或盈利活动
- 用户应自行承担使用风险和法律责任
- 请遵守微信用户协议和相关服务条款

