🚧Ejabberd con docker

Primero de todo deberƔs tener en cuenta que el servidor exige de una serie de requisitos, a saber:

  • Tener DNS con un dominio propio (que sea pĆŗblico o local te limitarĆ” la escalabilidad), revisa aquĆ­ s no lo tienes.

  • Tener docker instalado, revisa aquĆ­ como hacerlo.

En mi caso lo harƩ en una mƔquina ubuntu server 22.04.

La imagen que usaremos la he sacado de aquĆ­arrow-up-right, vayamos por pasos:

  1. Creación del contenedor

Para crear el contenedor:

docker run --name ejabberd -d -p 5222:5222 docker.io/ejabberd/ecs

2. Configuramos el dominio

Para entrar dentro del contenedor y editar el nombre del servidor, utilizaremos vi, que ya viene instalado por defecto en el propio docker.

docker exec -it ejabberd sh

Y desde dentro busca:

cd conf
vi ejabberd.yml

Dentro, en las primeras lƭneas, encontraremos el apartado hosts para editar el nombre del servidor, podemos utilizar varios nombres de servidor pero yo pondrƩ el que hay configurado de forma local en la mƔquina:

## hosts: Domains served by ejabberd.
## You can define one or several, for example:
## hosts:
##   - "example.net"
##   - "example.com"
##   - "example.org"
hosts:
- "alexdns.local"
circle-info

Recuerda que para entrar en modo inserción usa :i y ESC para salir. Luego para guardar y salir :wq

En este ejemplo de configuración, he utilizado el nombre de dominio alexdns.local, esto quiere decir que los usuarios que estarÔn registrados en el servidor, utilizan de nombre de usuario, por ejemplo ardilla@alexdns.local

TambiƩn debemos editar el archivo para designar un administrador por lo que escribimos el nombre de administrador o administradores. En este caso alex.

A partir de aquí, los pasos son mÔs o menos los mismos que en el servicio normal, primero nos aseguraremos de reiniciar el servicio del contenedor (no el contenedor, ”cuidado!):

3. Gestión y comandos

Ejabberd utiliza en su versión de terminal el comando ejabberdctl para administrar el servidor. Por lo que tendremos que ir pasandole el comando a docker para:

Crear un usuario y su contraseƱa

Cambiar la contraseƱa de un usuario

Listar todos los usuarios de un host

Hay que especificar al final el nombre del servidor. Existe la posibilidad que el servidor tenga dos nombres

Borrar Usuarios

Acceder a la web de administración

Ahora, para acceder a la pÔgina web de administración con la interfaz GUI nos conectaremos del siguiente modo a la url:

  • http://ip_server:5280/admin/

  • usuario: alex@alexdns.local

  • password: P@ssw0rd

A nivel de servicio tambine nos puede interesar gestionarlo:

Iniciar servidor

Comprobar usuarios conectados al servidor

Revisar los logs

En el siguiente enlace tienes mÔs información sobre como usar nginx, caddy y traeffik para gestionar una conexión segura: https://ugeek.github.io/blog/post/2021-11-07-docker-monta-tu-propio-servidor-de-mensajeria-ejabberd--xmpp.htmlarrow-up-right

Última actualización