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
.
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_SERVERNAME, la dirección de tu servidor.
Voy a utilizar matrix.ugeek.duckdns.org
, como dirección de ejemplo de mi servidor.
docker run -it --rm -v $HOME/docker/synapse-data:/data -e SYNAPSE_SERVER_NAME=matrix.ugeek.duckdns.org -e SYNAPSE_REPORT_STATS=yes black0/synapse:v1.20.1 generate
Ahora que tenemos los archivos de configuración, vamos a crear el contenedor con el servidor.
docker run -d --name matrix -v $HOME/docker/synapse-data:/data -p 8008:8008 black0/synapse:v1.20.1
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.
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).
version: "3"
services:
matrix:
image: "black0/synapse:v1.20.1"
container_name: matrix
# ports:
# - "8008:8008"
networks:
- web
volumes:
- $HOME/docker/synapse-data:/data
environment:
- SYNAPSE_NO_TLS=1 # La documentación dice si este valor es igual a 0, permite la federación
- SYNAPSE_SERVER_NAME=matrix.ugeek.duckdns.org
- SYNAPSE_ENABLE_REGISTRATION=1
- SYNAPSE_ALLOW_GUEST=1
- SYNAPSE_REPORT_STATS=1
labels:
- traefik.frontend.rule=Host:matrix.ugeek.duckdns.org
- traefik.frontend.entryPoints=https
- traefik.port=8008
- traefik.backend=synapse
networks:
web:
external: true
Permitir la federación, significa poder comunicarte con otros servidores de Matrix-Synapse
Ahora para levantar el docker:
docker-compose up -d
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
.
nano ~/docker/synapse-data/homeserver.yaml
Desmarcamos la opción enable_registration y ponemos true.
# Enable registration for new users.
enable_registration: true
Reinicia el contenedor.
Ahora con nuestro cliente favorito, podemos crear nuestra cuenta en el servidor.
Si no quieres que se creen más usuarios, siempre puedes volver a marcar con "#" y poner false en enable_registration.
# Enable registration for new users.
enable_registration: false
Publicado por Angel el Thursday 28 January del 2021
También te puede interesar:
Powered by org-bash-blog
Written in OrgMode with Emacs and converted to HTML with Pandoc
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.