配置
服务端的配置由两份文件组成:
wasmx.json:宿主要加载哪些 WASM 资源,以及userx的管理地址。.env:端口、数据库、签名密钥、初始管理员等运行时变量。
1. wasmx.json
初始化后的基础结构:
{
"env_file": ".env",
"userx": {
"admin_url": "${USERX_ADMIN_URL}",
"public_url": "${USERX_PUBLIC_URL}",
"login": {
"credential": "${USERX_ADMIN_CREDENTIAL}",
"password": "${USERX_ADMIN_PASSWORD}"
}
},
"resources": []
}
resources 由 wasmx add 自动维护。每个资源条目大致包含:
| 字段 | 说明 |
|---|---|
name | 资源名,如 resx、msgx、userx、conn、agix |
path | 相对部署目录的 .wasm 路径 |
prefix | 路由前缀;resx 为 /,其余为 /<name> |
rate_limit | 宿主级每分钟限流 |
control_plane | 是否控制面资源(resx) |
allow_http / allow_backend | 资源能力开关 |
providers | conn 可选的后端清单;默认空,按实际安装的 CLI 填写 |
2. .env
初始化会生成 .env.example,复制为 .env 后修改:
cp .env.example .env
关键变量:
| 变量 | 说明 |
|---|---|
WASMX_ADDR | 监听地址,默认 127.0.0.1:3001 |
WASMX_DB | SQLite 路径,默认 sqlite://data/keragi.db |
JWT_SECRET | 宿主与 userx 共用的签名密钥,至少 32 位 |
BOOTSTRAP_ADMIN_CREDENTIAL | 初始管理员账号 |
BOOTSTRAP_ADMIN_PASSWORD | 初始管理员密码 |
USERX_ADMIN_URL / USERX_PUBLIC_URL | 宿主访问 userx 的地址 |
USERX_ADMIN_CREDENTIAL / USERX_ADMIN_PASSWORD | userx 管理员凭据 |
生成随机密钥:
openssl rand -base64 48
.env不要提交到版本库,也不要放在公开可访问的目录。
3. 资源前缀
| 资源 | 前缀 |
|---|---|
resx | / |
msgx | /msgx |
userx | /userx |
conn | /conn |
agix | /agix |
Web 客户端的 config.json 需要与这些前缀对应。
4. 修改后重启
配置或资源变更后:
wasmx stop
wasmx start
wasmx status
查看日志:
tail -f wasmx.log
5. 安全建议
- 首次启动前修改初始管理员密码和
JWT_SECRET。 - 不要把管理接口直接暴露到不可信网络。
- 对外提供服务时使用 HTTPS / 反向代理。
- 定期备份
data/与.env(备份文件同样要保护)。