WechatOnCloud/fnos/README.md
Kris e35f1d64cf feat: 初始化项目,添加完整的微信云部署方案与面板实现
包含以下核心内容:
1.  完整的Docker容器化部署方案,支持多架构amd64/arm64
2.  自研Web管理面板,包含登录认证、实例管理、权限控制
3.  微信实例容器镜像,内置中文字体与输入法修复
4.  飞牛OS应用打包适配
5.  完整的文档与运维指南
2026-07-05 03:50:30 +08:00

40 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 飞牛 fnOS 应用打包(.fpk
把 WechatOnCloud 打成飞牛应用中心可安装的 `.fpk`。本目录 `woc/` 是一个按飞牛开发文档组织的 Docker 类应用工程,应用中心安装后会直接执行 `app/docker/docker-compose.yaml` 来启停应用。
> 飞牛开发文档:<https://developer.fnnas.com/docs/guide/>fpk 结构、manifest、Docker 应用、向导等)
## 目录结构
```
woc/
├── app/docker/docker-compose.yaml # 应用中心直接执行的 compose= 仓库根 compose挂 docker.sock
├── cmd/main # 生命周期入口start/stop 返回 0status 看 woc-panel 容器状态
├── config/privilege # 运行身份run-as=package
├── config/resource # 默认共享目录
├── wizard/install # 安装向导:填管理员账号/密码、端口、镜像版本(字段名即环境变量名)
├── manifest # INI 元数据appname/version/display_name/platform=all/service_port…
├── ICON.PNG # 64×64
└── ICON_256.PNG # 256×256
```
## 构建
需先在开发机装飞牛官方 `fnpack` CLI见上方文档
```bash
cd fnos/woc
fnpack build # 产出 wechat-on-cloud-<version>.fpk
```
然后在飞牛「应用中心 → 手动安装」上传该 `.fpk`。安装向导会要求设置管理员密码与端口。
## ⚠️ 重要前提与待验证项
本工程依据公开开发文档编写,**尚未在真实 fnOS 设备上验证**,上架前请实测以下两点:
1. **docker.sock 权限(关键)**:面板需挂载宿主 `/var/run/docker.sock` 来按需创建/销毁微信实例容器,这等同宿主 root 权限。`config/privilege` 当前设为 `run-as=package`(普通应用用户);若该用户无权访问 docker.sock新建实例会失败。届时可能需要把应用用户加入 `docker` 组,或申请飞牛 `run-as=root` 合作权限(官方文档注明 root 需官方合作)。
2. **向导环境变量注入 compose**`wizard/install` 的字段名(`WOC_USER`/`WOC_PASSWORD`/`WOC_HTTP_PORT`/`WOC_VERSION`会成为环境变量compose 里用 `${...}` 取用。请确认应用中心执行 compose 时这些变量确实可见(不同 fnOS 版本行为可能不同)。
镜像本身从 GHCR 拉取(多架构 amd64/arm64与仓库根 `docker-compose.yml` 完全一致,故 fpk 内不含镜像、体积很小。