Open deerleo opened 5 months ago
提供一些背景信息:
因为roles.json是我们开发的另外一套系统生成的角色配置代码,且不在同一台服务器上,所以用了oss来管理这个roles.json,用ossfs挂载了oss的存储桶,映射到folotoy服务器的/config/roles.json里(权限已修改为666),但是更新完了roles.json并用mqtt发送消息让他重新加载json的时候,这里会报错。如果直接重启容器的话,是没问题,可以正常加载roles.json的配置;
尝试过从oss复制一份roles.json,并保存到和docker-compose同级的config/json文件夹里,但是发送load_roles_config也会出错(这里尚未确认这个复制过来的roles.json权限是否是666,我会重新测试一遍)
Docker-Compose配置如下所示:
version: '3'
volumes:
emqx-etc: null
emqx-data: null
emqx-log: null
services:
emqx:
image: emqx/emqx:latest
restart: always
ports:
- 1883:1883/tcp
- 18083:18083/tcp
- 8083:8083/tcp
volumes:
- emqx-etc:/opt/emqx/etc
- emqx-data:/opt/emqx/data
- emqx-log:/opt/emqx/log
environment:
EMQX_NODE_NAME: emqx@node1.emqx.io
nginx:
image: nginx:latest
restart: always
ports:
- 8082:80/tcp
volumes:
- ./audio:/usr/share/nginx/html
folotoy:
image: lewangdev/folotoy-server:latest
restart: always
ports:
- 8085:8085/udp
volumes:
- ./audio:/audio
- ./config:/config
- ../ossfile/20240601/3ed092d92db14dda8ce236d72c488836.json:/config/roles.json
environment:
... 环境变量部分省略
把映射直接改成试试:
volumes:
- ./audio:/audio
- ../ossfile/20240601:/config
environment:
TZ: Asia/Shanghai
LOG_LEVEL: DEBUG
ROLES_FILE_PATH: /config/3ed092d92db14dda8ce236d72c488836.json
校验过,也能正常使用,但是通过mqtt发送load_roles_config消息之后无法加载,报错
以下是Roles.json
(SN和Key等信息已经用****号脱敏代替),以下是Json文件