mirror of
https://github.com/Gloridust/WechatOnCloud.git
synced 2026-06-16 19:53:53 +08:00
17ba168764
媒体链路(生产 HTTPS 下可用,含降级) - 音频(听):PulseAudio + KasmVNC 工具条,开箱即用 - 麦克风(说):virtmic 管道源已就绪,运行时需 HTTPS(非 HTTPS 前端提示) - 摄像头(视频):docker.ts 条件化 v4l2 设备直通 + 加 video 组;无设备/无 HTTPS 时优雅降级,音频麦克风不受影响 - WOC_VIDEO_DEVICES 显式指定或经 /host-dev 自动探测 文件传输(原生拖拽) - 面板侧拖拽上传 + 下载:dockerode putArchive/getArchive 到实例 ~/Desktop(持久卷) - 纯 JS 单文件 tar 编解码(免依赖),文本/二进制均无损;全程走面板鉴权与权限校验 安全 & UX - 默认密码告警条 + mustChangePassword 追踪(兼容旧账号文件迁移) - 会话过期(401) 自动跳登录;桌面连接 loading 态 - 停止/未创建实例一键启动(新增 /api/admin/instances/:id/start) - 统一牛奶布艺弹窗 + Toast,替换 Admin 原生 alert/confirm/prompt - 密码可见切换;实例重命名;退出二次确认;空状态改用品牌终端图标 其它 - gen-icons 生成终端风格图标(此前仅空白绿块,影响 Docker/CI 产物) - 镜像源可切换 WOC_IMAGE_PREFIX(国内反代/ACR);品牌名「云微」 - 文档:.env.example / docker-compose 增加音视频(v4l2loopback/HTTPS)、镜像源、视频设备说明 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
46 lines
2.7 KiB
Bash
46 lines
2.7 KiB
Bash
# 复制本文件为 .env 即可覆盖默认配置。全部可选——不建 .env 也能直接 `docker compose up -d`。
|
|
|
|
# 面板首个管理员账号 / 密码(仅首次启动、无账号文件时写入)。强烈建议改掉默认密码!
|
|
WOC_USER=admin
|
|
WOC_PASSWORD=wechat
|
|
|
|
# 镜像版本:默认 latest;上线后建议钉到具体版本(如 1.0.0,注意不带 v)以便可控升级。
|
|
# 同时作用于面板镜像和新建微信实例所用镜像。
|
|
WOC_VERSION=latest
|
|
|
|
# 镜像源前缀(registry + 命名空间)。默认 GHCR 官方。
|
|
# 中国大陆网络拉 ghcr.io 常 TLS 超时,可改用 GHCR 反代镜像(前提:GHCR 包已设为 Public):
|
|
# WOC_IMAGE_PREFIX=ghcr.nju.edu.cn/gloridust # 南京大学镜像站反代 ghcr.io(较稳定)
|
|
# 反代会把 ghcr.io/gloridust/xxx 映射为 <反代>/gloridust/xxx。
|
|
# 若用自己的国内仓库(阿里云 ACR / 腾讯 TCR / 华为 SWR),填该仓库的完整前缀即可,例如:
|
|
# WOC_IMAGE_PREFIX=registry.cn-hangzhou.aliyuncs.com/你的命名空间
|
|
WOC_IMAGE_PREFIX=ghcr.io/gloridust
|
|
|
|
# 宿主用户 uid/gid(飞牛上用 `id` 命令查看;单用户 NAS 一般是 1000)。
|
|
# 透传给每个微信实例容器,决定面板数据与微信数据卷的属主。
|
|
WOC_PUID=1000
|
|
WOC_PGID=1000
|
|
|
|
# 时区
|
|
WOC_TZ=Asia/Shanghai
|
|
|
|
# 面板对外端口(宿主侧,默认用冷门端口避免冲突;容器内固定 8080)。
|
|
# 面板是唯一对外入口;微信实例不直接对宿主暴露,由面板反向代理。
|
|
WOC_HTTP_PORT=36080
|
|
|
|
# ── 音频 / 麦克风 / 摄像头 ───────────────────────────────────
|
|
# 音频(听):开箱即用,进入桌面后点 KasmVNC 左侧工具条的扬声器开启。
|
|
# 麦克风(说) / 摄像头(视频):浏览器要求"安全上下文",即必须通过 HTTPS 访问面板
|
|
# (或 localhost)。生产环境务必给面板套 HTTPS(反代/证书),否则浏览器会禁用麦克风与摄像头。
|
|
#
|
|
# 摄像头还需要宿主提供一个虚拟视频设备(v4l2loopback):
|
|
# 1) 宿主安装并加载内核模块:
|
|
# Ubuntu/Debian: sudo apt install v4l2loopback-dkms && sudo modprobe v4l2loopback
|
|
# (飞牛/其它发行版若自带 v4l2loopback 同理 modprobe;没有则摄像头不可用,其余功能正常)
|
|
# 2) 确认出现了 /dev/videoN 设备。
|
|
# 3) 二选一让实例容器拿到该设备:
|
|
# a) 自动:保留 compose 里的 `/dev:/host-dev:ro` 挂载,面板会自动探测并映射;
|
|
# b) 显式:在下面列出设备(逗号分隔),并可删掉那条 /host-dev 挂载。
|
|
# 留空 = 不映射摄像头(音频/麦克风不受影响)。
|
|
WOC_VIDEO_DEVICES=
|