Introducción a Matrix en Cloudron
Socialism.tools Admin
2020-10-19

Matrix es un nuevo protocolo de código abierto para redes de chat descentralizadas. Al ser un protocolo, significa que requiere un servidor (usaremos Synapse) y un cliente (usaremos Element) para funcionar de la forma en que se espera que funcionen los programas de chat, como Slack.

Matrix está diseñado con la descentralización en mente, lo que significa que está diseñado para funcionar como una red de servidores, de los cuales su instalación es sólo un nodo. Esto es genial para muchos propósitos, pero puede ser confuso para las personas que tienen menos conocimientos de tecnología, y no está diseñado con las mismas ideas en mente que los sustitutos de Slack centrados en la empresa como Rocket Chat y Mattermost. Matrix es una excelente opción para activistas y organizaciones sin ánimo de lucro que quieran una alternativa segura, colaborativa y fácil de usar a Slack.

Esta guía le explicará todo lo que necesita saber para instalar y configurar Matrix con Cloudron. Va a reflejar en gran medida la documentación oficial de Cloudron, por lo que si algo parece incorrecto o no está actualizado, por favor compare con sus documentos o diríjase a los foros de Cloudron. Para empezar, instale Matrix Synapse desde la tienda de aplicaciones Cloudron. Recomiendo encarecidamente utilizar matrix.sudominio.com como ubicación. Esto no es necesario, pero facilita los pasos posteriores y muchas guías en línea (incluida ésta) lo asumen.

Vamos a dar un rápido rodeo para explicar por qué es importante, y entrar en un poco más de detalle sobre cómo funciona Matrix.

Conocer a Morfeo (¿Qué es Matrix?)

Como ya se ha dicho, Matrix es un protocolo. Un protocolo no es un programa informático; es como una especificación escrita que indica a los ordenadores cómo hablar entre sí. Para convertir un protocolo en algo que podamos utilizar para chatear, necesitamos un servidor y un cliente.

El servidor es el componente principal de lo que instalará con esta guía; permite a los clientes de Matrix (por ejemplo, su aplicación para Android) hablar con el servidor. Existen múltiples servidores y clientes para el protocolo Matrix. Vamos a instalar Synapse, que es el programa servidor más popular que implementa el protocolo Matrix. (Matrix llama al servidor «homeserver» y usaremos esa palabra en adelante para referirnos a lo que vamos a instalar)

El modelo servidor/cliente puede resultar familiar: casi todas las aplicaciones utilizan este modelo para comunicarse. Pero Matrix añade una característica adicional poco común en aplicaciones de chat como Slack o Hangouts: los servidores también pueden hablar con otros servidores (imagina el correo electrónico, pero mejor). Esto significa que puedes enviar mensajes a alguien en un servidor doméstico totalmente diferente al tuyo sin problemas, siempre que vuestros servidores estén conectados (en términos de Matrix: federados).

Veamos un ejemplo rápido con dos capítulos de la DSA, Springfield y Riverdale. Los capítulos de la DSA de Springfield y Riverdale tienen cada uno su propia instalación de Synapse, y cada miembro sólo puede hablar con otros miembros de su propio capítulo. Un día, deciden federar sus servidores, lo que permite a ambos miembros unirse a una Sala y chatear entre ellos. Las salas (llamadas canales o grupos en otras aplicaciones de chat) permiten a los miembros de ambos capítulos chatear sin que ninguno de ellos ceda el control o el acceso de seguridad al otro. Los usuarios del servidor de Springfield pueden chatear con los usuarios de Riverdale sólo en Salas compartidas. Los administradores de cada servidor sólo pueden ver los mensajes que los usuarios del otro servidor envían también en las Salas compartidas.

Tu nombre en Matrix refleja esta naturaleza de dos niveles: tu nombre de usuario reflejará tu servidor doméstico. Por ejemplo, si el mío es @joe:socialism.tools y chateo con @joe:neoliberalism.fail en una sala compartida, aún podemos distinguirnos.

Comparemos esto con Slack. Slack es la única aplicación de chat importante con federación, pero está limitada a los clientes de pago. Lo que las organizaciones activistas harán en este caso es que alguien creará una nueva instancia de Slack, y luego invitará a los miembros de cualquier Slack relacionado a crear una nueva cuenta y unirse. Esto es engorroso y oscurece la procedencia de los miembros (las salas de presentación se utilizan para ayudar a la gente a identificar su procedencia, pero de nuevo, esto es engorroso). Este proceso debe repetirse para cada nuevo grupo de trabajo, acción, etc., que haya que poner en marcha. Como algunos sabrán, ¡son muchos espacios de trabajo de Slack! Matrix facilita la colaboración segura con muchas organizaciones diferentes / servidores Matrix.

Entrar en la matriz (instalación)

Asegúrese de que ha instalado Synapse desde la tienda de aplicaciones de Cloudron en matrix.yourdomain.com. Ya tienes un servidor doméstico. Pero tenemos que realizar algunos pasos adicionales. Para que tu servidor doméstico esté disponible para la federación, tendrás que configurar algunas otras cosas. Vamos a configurar el conocido URI primero. Se trata de una URL especial que facilita a otros ordenadores dónde encontrar un programa (en este caso, su servidor de Matrix). Haga clic en el icono de engranaje (configuración) que aparece al pasar el ratón por encima de la aplicación Matrix en Cloudron, luego en la consola y después en el terminal. Copie las siguientes dos líneas de script en el Bloc de notas o en otra aplicación donde pueda editarlas.

mkdir -p /home/yellowtent/boxdata/well-known/example.com/matrix echo '{ "m.server": "matrix-homeserver.example.com:443" }' > /home/yellowtent/boxdata/well-known/example.com/matrix/server

Sustituya example.com por su nombre de dominio habitual, por ejemplo springfield-dsa.org. Ponga la ubicación de su servidor Matrix en el seciton matrix-homeserver.example.com. A continuación, cópialo y pégalo en el terminal web y pulsa enter. Mantenga la pestaña Terminal abierta y vuelva a su pestaña Cloudron. Haga clic en el elemento de menú Ubicación y haga clic en Guardar sin pulsar nada más. Espera a que termine de procesar, luego vuelve a tu pestaña de Terminal y espera unos momentos.

Escriba curl y luego pegue su conocida URL y pulse enter. Esto es lo que ocurre cuando imprimo el mío (he pulsado enter después de la palabra «servidor» y se ha devuelto la línea con llaves)

Deberías obtener algo muy parecido a lo anterior. Si no es así, consulte los documentos de Cloudron para ver si se ha saltado algún paso. También debería introducir su nombre de dominio (sin matrix-) en el Comprobador de la Federación para confirmar que todo funciona como se espera. Sólo queda un paso: ¡hágase administrador!

De nuevo, copie la siguiente línea y edite @user:example.com para que coincida con su información (su nombre de usuario de Matrix coincidirá con su nombre de usuario de Cloudron. Si no sabe cuál es, vuelva al panel de control de Cloudron y busque en la esquina superior derecha):

PGPASSWORD=${CLOUDRON_POSTGRESQL_PASSWORD} psql -h ${CLOUDRON_POSTGRESQL_HOST} -p ${CLOUDRON_POSTGRESQL_PORT} -U ${CLOUDRON_POSTGRESQL_USERNAME} -d ${CLOUDRON_POSTGRESQL_DATABASE} -c "UPDATE users SET admin=1 WHERE name='@user:example.com'" UPDATE 1

Enhorabuena, Neo: ¡ya estás totalmente enchufado a Matrix! Ahora puedes conectarte con un cliente de Matrix – Element, por ejemplo. Comprueba que puedes conectarte y luego vuelve para ver algunas funciones de configuración adicionales que puedes utilizar.

Cambiar su Matix (Configuración)

Matrix tiene un montón de opciones de configuración y plugins, pero vamos a repasar aquí sólo algunos ajustes importantes que puede necesitar. En primer lugar, si un usuario escribe la URL de Matrix en su navegador, obtiene la página de Matrix por defecto:

¡Aburrido! Añadamos algo de pop. He copiado el archivo que está ahí (puedes abrirlo a través del Terminal y seleccionar todo > copiar) y luego he añadido mis propios retoques:

Aunque necesitarás saber HTML para crear una página de aterrizaje elegante, puedes trabajar con los bloques de construcción que hay para añadir enlaces (como element.sudominio.com para unirse al servidor web).

El otro archivo que puede editar para que Synapse se adapte a sus necesidades en el archivo de configuración en /app/data/configs/homeserver.yaml. Escriba nano y luego esa ruta para editar el archivo cuando tenga el Terminal abierto. El archivo de configuración trata de describir lo que hace dentro de él para la mayoría de las funciones. Una libra/hash/octavo (#) al principio de una línea significa que la línea está comentada y será ignorada por Synapse.

Por ejemplo, si se ejecuta en un servidor de recursos muy limitados, es posible que desee cambiar la configuración de limit_remote_rooms para bloquear a los usuarios de unirse a salas remotas muy grandes. Por favor, tenga cuidado al editar el archivo de configuración – el espaciado de las líneas es importante, y guardar el archivo de configuración cuando no está formateado correctamente probablemente causará problemas con su servidor. También tendrá que reiniciar la aplicación Synapse después de cualquier cambio de configuración.

Pin It on Pinterest