-
Notifications
You must be signed in to change notification settings - Fork 140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ejabberd_auth_http compilation fails with ejabberd/ecs:23.04 #318
Comments
You want to modify it? |
with
it fails too with |
@licaon-kter actually I did a minor modification: add trailing slash to make it work with my rest api |
I made it compile with
|
The $ docker run --name ejabberd -d -p 5222:5222 ghcr.io/processone/ejabberd
61836193d4250a8b45150aa522c91bf93829197ab52bfe926d0542d83e9f7843
$ docker exec -it ejabberd ejabberdctl module_install ejabberd_auth_http
Module ejabberd_auth_http has been installed.
Now you can configure it in your ejabberd.yml You could automatize this using the CTL_ON_CREATE environment variable that is read by ejabberdctl. For example in docker-compose.yml version: '3.7'
services:
main:
image: ghcr.io/processone/ejabberd
container_name: ejabberd
environment:
- CTL_ON_CREATE=module_install ejabberd_auth_http
ports:
- "5222:5222" When it starts for the first time, it will instal that module:
When using the environment:
- CTL_ON_CREATE=modules_update_specs ;
module_install ejabberd_auth_http |
thank you, actually I'm running ejabberd in k8s, and I'm not sure that CTL_ON_CREATE approach will work, because I'm expecting to have an image with everything installed and ready ejabberd.yml |
but now i have strange issue, when I'm trying to authenticate with port forwarding via lens app, that's why you may see
|
Ah right. ejabberd needs to be running to use I'm playing now with a new option that would allow to bypass this strict configuration checking somehow. That would allow you to configure as you wish in ejabberd.yml, and ejabberd will take care to install the modules as required.
|
@andrewkoltsov: Have you looked the @badlop comment? |
Good news. Since this commit you can use the new option Configure in ejabberd.yml whatever modules from ejabberd-contrib, and mention them in the new option, so ejabberd installs them when it's starting. For example: allow_contrib_modules: true
install_contrib_modules:
- ejabberd_auth_http
- mod_default_rooms
- mod_statsdx
- mod_shcommands
- mod_webadmin_config
- mod_webpresence
auth_method: http
auth_opts:
host: "http://localhost:12000"
listen:
...
-
port: 5284
module: ejabberd_http
request_handlers:
/presence3: mod_webpresence
modules:
...
mod_default_rooms:
rooms:
- [email protected]
- [email protected]
mod_statsdx:
hooks: true That way you don't need to compile or install them. Simply make sure to have the source code downloaded. You download the source code in the Dockerfile:
But I think that you should download to |
I'm trying to build docker image based on ejabberd/ecs:23.04 with ejabberd_auth_http installed,
there is my docker image
But, unfortunately,
docker build .
fails on erlc comand withsrc/ejabberd_auth_http.erl: undefined parse transform 'lager_transform'
,I took a look at ejabberd_auth_http code, there is no usage of lager
What is the correct way to build docker image with ejabberd_auth_http module?
The text was updated successfully, but these errors were encountered: