Este repositorio contiene la configuración y los módulos personalizados para desplegar un contenedor Docker de ejabberd con extensiones propias. El objetivo es facilitar un entorno reproducible y aislado para probar y validar nuevos módulos sin depender de un servidor externo.
- Dockerfile: Imagen base y pasos de construcción.
- docker-compose.yml: Definición de servicios y volúmenes.
- modules/: Código fuente de los módulos personalizados.
- config/ejabberd.yml: Archivo de configuración principal de ejabberd.
- scripts/: Utilidades para compilación e instalación de módulos.
- Docker >= 20.10
- Docker Compose >= 1.29
- Acceso de lectura/escritura al directorio de módulos
- Clona el repositorio.
- Coloca tus módulos en
modules/respetando la estructura de ejabberd. - Ajusta las variables de entorno en
docker-compose.ymlsi es necesario. - Ejecuta
docker-compose up --buildpara construir y arrancar el contenedor.
Al iniciar, el contenedor:
- Sincroniza y actualiza las especificaciones de módulos (scripts/actualizar_modulos.sh).
- Compila e instala los módulos personalizados (scripts/instalar_modulos.sh).
- Inicia ejabberd usando la configuración de
config/ejabberd.yml.
- Utiliza clientes XMPP apuntando a
localhost:5222. - Verifica envíos entre usuarios y múltiples recursos.
- Revisa los logs en
/var/log/ejabberd/ejabberd.log.
- Ejabberd: 23.12
- Erlang/OTP: 24.3
- Docker: 20.10.22
- Docker Compose: 1.29.2
- Para agregar nuevos módulos, solo colócalos en
modules/y reinicia el contenedor. - Ejecuta
scripts/limpiar.shpara limpiar compilaciones previas. - Actualiza la versión de ejabberd modificando la etiqueta en el
Dockerfile.
Este proyecto se distribuye bajo licencia MIT. Consulta el archivo LICENSE para más detalles.