Blog del Podcast
podcast    GitHub    Twitter  Telegram

Servidor de mensajería Matrix Synapse, en Raspberry, Ubuntu, Debian... con Docker

Cómo expliqué en el Podcast, no existe una  imagen oficial del contenedor Synapse,  pero black0 ha creado una para todo tipo de arquitecturas, entre ellas ARM. 

El contenedor de black0/synapse se crea exactamente igual que con la  imagen oficial, matrixdotorg/synapse.

He utilizado la versión black0/synapse:v1.20.1,  porque la versión latest, he visto que no tiene compatibilidad con arquitectura ARM,  en el momento de escribir este artículo.

Si vas a instalarlo en un Ubuntu, Debian,... con arquitectura amd64, puedes utilizar la imagen oficial matrixdotorg/synapse. Sustituye en cada comando black0/synapse:v1.20.1 por matrixdotorg/synapse.

Creando archivos de configuración

Vamos a utilizar la imagen con el comando generate, para generar el archivo de configuración de nuestro servidor matrix-synapse.

Crearemos un volumen en la ruta $HOME/docker/synapse-data, dónde están los archivos de configuración.

Recuerda añadir en la variable SYNAPSE_SERVER_NAME,  la dirección de tu servidor.

Voy a utilizar matrix.ugeek.duckdns.org, como dirección de ejemplo de mi servidor.

#+BEGIN_EXAMPLE

docker run -it --rm -v $HOME/docker/synapse-data:/data -e SYNAPSESERVERNAMEmatrix.ugeek.duckdns.org -e SYNAPSE_REPORT_STATSyes black0/synapse:v1.20.1 generate

#+END_EXAMPLE

Crear el Contenedor

 Ahora que tenemos los archivos de configuración, vamos a crear el contenedor con el servidor.

#+BEGIN_EXAMPLE

docker run -d --name matrix -v $HOME/docker/synapse-data:/data -p 8008:8008 black0/synapse:v1.20.1

#+END_EXAMPLE

Si todo ha salido correctamente, conectándonos a la dirección de nuestro servidor por el puerto 8008,  veremos una página de Matrix, conforme el servidor está disponible.

Crear contenedor con traefik

Yo utilizo traefik a modo de proxy inverso y así también consigo mi certificado Let's Encrypt de un modo sencillo con este docker-compose.

Recuerda sustituir la dirección del servidor en los dos lugares que aparece en este docker-compose (matrix.ugeek.duckdns.org).

#+BEGIN_EXAMPLE

version: "3"

services:

matrix:

image: "black0/synapse:v1.20.1"

container_name: matrix

# ports:

# - "8008:8008"

networks:

networks:

web:

external: true

#+END_EXAMPLE

Permitir la federación, significa poder comunicarte con otros servidores de Matrix-Synapse

Ahora para levantar el docker:

#+BEGIN_EXAMPLE

docker-compose up -d

#+END_EXAMPLE

Creando usuarios

Para c


docker exec -it matrix register_new_matrix_user -u USUARIO" -p "CONTRASEÑA" -a -c /data/homeserver.yaml https://midominio.duckdns.org 

Los usuarios hay que crearlos desde un cliente de Matrix (fluffy Chat, Element,...), en esta web hay un amplio listado para todos los sistemas operativos https://matrix.org/clients/. Pero antes tenemos que habilitar la opción en el servidor.

Para permitir el registro de usuarios, hay que editar el archivo homeserver.yaml y desmarcar la "#" habilitando enable_registration: true

#+BEGIN_EXAMPLE

nano ~/docker/synapse-data/homeserver.yaml

#+END_EXAMPLE

Desmarcamos la opción enable_registration y ponemos true.

 

#+BEGIN_EXAMPLE

# Enable registration for new users.

enable_registration: true

#+END_EXAMPLE

Reinicia el contenedor.

Ahora con nuestro cliente favorito, podemos crear nuestra cuenta en el servidor.

Cerrar registro de usuarios

Si no quieres que se creen más usuarios, siempre puedes volver a marcar con "#" y poner false en enable_registration.

#+BEGIN_EXAMPLE

# Enable registration for new users.

enable_registration: false

#+END_EXAMPLE

Fuentes




Powered by org-bash-blog

Written in OrgMode with Emacs and converted to HTML with Pandoc

Licencia de Creative Commons
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.