Docker启动ejabberd 19.05报mod_offline_push未知模块错误如何解决
问题根因
该启动报错和你新增的auth_use_cache: false参数没有关联,核心问题是你使用的ejabberd 19.05版本默认未内置mod_offline_push模块,你的ejabberd.yml配置中启用了这个不存在的模块,服务启动加载模块失败导致异常退出。
解决步骤
根据你的实际需求选择对应方案即可:
- 不需要使用离线推送功能:直接在
ejabberd.yml的modules配置段中,删除或注释掉mod_offline_push相关的配置行,修改保存后重启容器即可正常启动。 - 需要使用
mod_offline_push功能:- 先准备适配ejabberd 19.05版本的
mod_offline_push源码,编译得到mod_offline_push.beam文件 - 临时注释掉配置中
mod_offline_push相关内容启动容器,将编译好的.beam文件放入日志提示的两个目录任意一个:/usr/local/lib/ejabberd-19.05/ebin或/opt/ejabberd/.ejabberd-modules - 恢复
mod_offline_push配置后重启容器即可
若要避免容器重建后模块丢失,可以将模块存放目录挂载为宿主机目录,或者基于官方ejabberd:19.05镜像构建自定义镜像,提前将模块打包到镜像内。
- 先准备适配ejabberd 19.05版本的
内容的提问来源于stack exchange,提问作者Jinfeng Ji
相关产品推荐
相关产品推荐

