[{"data":1,"prerenderedAt":179},["ShallowReactive",2],{"seo-verification":3,"blog-alojar-matrix-synapse-y-element-en-un-vps-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-alojar-matrix-synapse-y-element-en-un-vps-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":35,"sections":36,"ctaTitle":139,"ctaBody":140,"ctaButton":141,"ctaUrl":142,"relatedPosts":143},232,"alojar-matrix-synapse-y-element-en-un-vps",{"fr":12,"en":13,"ar":14,"es":10},"heberger-matrix-synapse","host-matrix-synapse-and-element-on-your-own-vps","استضافة-matrix-synapse-وelement-على-خادم-vps-الخاص-بك","Alojar Matrix Synapse y Element en tu propio VPS","Instala Matrix Synapse y Element Web self-hosted en un VPS: Docker, PostgreSQL, reverse proxy, bridges y purga de historial. Guía completa 2026.",9,1,false,"2026-01-19T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Autoalojamiento","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-matrix-synapse-poster.svg",{"categorySlug":25,"appSlug":34},"matrix-synapse","Matrix es el protocolo de mensajería federada y cifrada de extremo a extremo más completo del software libre. Alojarlo en tu propio VPS te da un sistema de mensajería bajo tu nombre de dominio, capaz de hablar con toda la red Matrix, donde ni el contenido ni los metadatos pasan por terceros. Aquí tienes un despliegue Docker completo — Synapse, PostgreSQL, Element Web y reverse proxy — con la trampa que hay que conocer antes de empezar: el nombre de dominio es INMUTABLE.",[37,41,53,56,59,62,87,90,93,96,132,136],{"type":38,"title":39,"body":40},"h2","Por qué alojar tu propio servidor Matrix","Las herramientas de mensajería de equipo clásicas — Slack, Teams, e incluso las alternativas auto-alojadas — comparten un límite: solo puedes hablar con miembros del mismo servidor. Matrix invierte esto. Es un protocolo FEDERADO: tu servidor habla con todos los demás servidores Matrix del mundo, exactamente como una dirección de correo llega a cualquier otro dominio. Tus usuarios conservan una identidad ligada a ti (`@alice:your-domain.com`) mientras charlan con personas alojadas en otro lugar. A eso se suma el cifrado de extremo a extremo, por sala: incluso tú, como administrador del servidor, no puedes leer los mensajes de una sala cifrada. Eso es lo que distingue a Matrix de la mensajería simplemente auto-alojada — la soberanía no depende de la confianza en el alojador, sino de la criptografía.",{"type":42,"title":43,"items":44},"ul","Qué ganas con un servidor Matrix auto-alojado",[45,46,47,48,49,50,51,52],"Federación: tus usuarios llegan a los de cualquier otro servidor Matrix, sin cuentas adicionales.","Cifrado de extremo a extremo por sala, independiente de la confianza en el alojador.","Identificadores ligados a tu nombre de dominio, que se convierten en una dirección duradera.","Element Web auto-alojado: la interfaz queda bajo tu control, sin depender de app.element.io.","Aplicaciones oficiales de Element en móvil, escritorio y web — todas apuntando a tu servidor.","Historial y archivos almacenados en tu máquina, sin límite de retención impuesto.","Posibilidad de bridges a otras redes (Telegram, Signal, IRC, XMPP…).","Sin recopilación publicitaria ni perfilado: los metadatos permanecen en tu perímetro.",{"type":38,"title":54,"body":55},"Element self-hosted vs. app.element.io: la diferencia concreta","Element Web es una aplicación web de código abierto — puedes alojarlo en tu propio dominio en lugar de usar app.element.io. Esta elección a menudo se pasa por alto, pero importa. Cuando tus usuarios abren app.element.io, su navegador carga JavaScript desde los servidores de Element HQ: esto no afecta la confidencialidad de los mensajes (el cifrado permanece local), pero crea una dependencia externa.\n\nAlojar Element Web tú mismo — típicamente detrás de `chat.your-domain.com` — elimina esa dependencia. Controlas la versión desplegada, puedes personalizar `config.json` para que la interfaz esté preconfigurada con tu servidor, y tus usuarios solo tienen una URL que recordar.\n\nPunto importante: Element Web lee `config.\u003Cdominio>.json` ANTES que `config.json`. Si tu configuración no se sirve correctamente, la interfaz se muestra perfectamente — y conecta a tus usuarios con el servidor público en lugar del tuyo. Verifica que ambos archivos respondan con tu configuración antes de invitar usuarios.",{"type":38,"title":57,"body":58},"El punto a entender ANTES de instalar: el nombre de dominio","Esta es la particularidad de Matrix, y la fuente de error más costosa. El `server_name` de tu servidor — tu nombre de dominio — no es un ajuste de visualización: está inscrito DENTRO de la identidad de cada objeto que produce el servidor. Cada identificador de usuario (`@alice:your-domain.com`), cada identificador de sala, cada evento firmado lo contiene. Cambiarlo después no es posible: hay que partir de un servidor en blanco y recrear las cuentas. Elige el subdominio definitivo desde la instalación, y vincúlalo cuando instales la aplicación — no después. En ServOrbit, la instalación se niega deliberadamente a arrancar si no hay dominio vinculado: mejor un fallo inmediato y claro que un servidor que habrá que rehacer una vez creadas las cuentas.",{"type":38,"title":60,"body":61},"Requisitos de hardware","La pila completa — Synapse, PostgreSQL, Element Web y el reverse proxy — consume alrededor de 300 MB en reposo, medido en una instalación nueva. Un VPS con 2 GB de RAM y 2 vCPUs es más que suficiente para un equipo, una asociación o una familia.\n\nEl consumo depende principalmente de las salas PÚBLICAS a las que te unes: Synapse conserva el historial y el estado de cada sala federada, y unirse a varias salas comunitarias grandes puede hacer crecer la base de datos varios gigabytes. Para ese caso de uso, apunta a 4 GB de RAM y monitorea el espacio en disco.\n\nPostgreSQL es indispensable — Synapse acepta SQLite, pero no lo recomienda más allá de un servidor de prueba. También prevé un certificado TLS válido: sin HTTPS, la federación y las apps móviles se niegan a conectar.",{"type":63,"title":64,"steps":65},"steps","Desplegar Matrix con Docker, PostgreSQL y Element",[66,69,72,75,78,81,84],{"title":67,"body":68},"Elegir y apuntar el dominio","Decide el subdominio definitivo (por ejemplo `matrix.your-domain.com`) y apúntalo a tu VPS con un registro A. Ese nombre se convertirá en la identidad del servidor. Añade un segundo subdominio para Element Web si quieres alojarlo por separado (`chat.your-domain.com`). Ambos registros A deben estar activos antes de arrancar el contenedor.",{"title":70,"body":71},"Generar la configuración y la clave de firma","El primer arranque de la imagen Synapse genera `homeserver.yaml` y sobre todo la CLAVE DE FIRMA del servidor, la que autentica sus eventos ante otros servidores. Guárdala: perderla equivale a perder la identidad del servidor en la red federada. Conserva también `homeserver.yaml` en tu sistema de copias de seguridad — contiene los secretos compartidos entre componentes.",{"title":73,"body":74},"Cambiar la base de datos a PostgreSQL","La imagen solo sabe generar una configuración SQLite. Añade un archivo en `conf.d\u002F` que redefina el bloque `database` para PostgreSQL — Synapse lee varios `--config-path` y las claves repetidas sobreescriben las anteriores. Crea la base de datos con cotejamiento `C`: Synapse se niega a arrancar en una base con un cotejamiento diferente, y esa elección no puede cambiarse tras la creación.",{"title":76,"body":77},"Colocar un reverse proxy delante","Sirve Element Web en la raíz de `chat.your-domain.com` y la API Matrix bajo `\u002F_matrix` y `\u002F_synapse\u002Fclient` en `matrix.your-domain.com`, detrás de un certificado TLS por dominio. Retransmite correctamente los encabezados `Upgrade` y `Connection`: Matrix mantiene conexiones largas (WebSocket), sin esto el tiempo real no funciona. Aumenta también `client_max_body_size` a al menos 50 MB para transferencias de archivos.",{"title":79,"body":80},"Publicar la delegación .well-known","Expón `\u002F.well-known\u002Fmatrix\u002Fserver` y `\u002F.well-known\u002Fmatrix\u002Fclient` en tu dominio raíz. Esto permite a otros servidores y apps móviles encontrar tu servidor sin configuración manual. Verifica después en federationtester.matrix.org: una federación no verificada puede bloquear silenciosamente las invitaciones externas.",{"title":82,"body":83},"Configurar Element Web en TU servidor","Crea un `config.json` que apunte `default_server_config` a tu servidor. Element también lee `config.\u003Cdominio>.json` primero: sirve ambos a través de tu reverse proxy. Prueba abriendo la interfaz en una pestaña privada — sin cookies ni sesión — y verifica que la pantalla de inicio de sesión ofrezca tu dominio por defecto, no matrix.org.",{"title":85,"body":86},"Crear la primera cuenta de administrador","Synapse no crea ninguna cuenta por sí solo y los registros deben permanecer cerrados. Crea la cuenta de administrador con `register_new_matrix_user`, luego inicia sesión en `https:\u002F\u002Fchat.your-domain.com`. En ServOrbit, esta cuenta `admin` se crea automáticamente en el primer arranque y su contraseña generada es legible en tu área de cliente.",{"type":38,"title":88,"body":89},"Administrar Synapse después de la instalación","Synapse expone una API de administración en `\u002F_synapse\u002Fadmin\u002Fv1` — reservada para cuentas marcadas como `admin`. A través de esta API, puedes desactivar una cuenta, purgar el historial de una sala, forzar el cierre de sesión de todos los dispositivos de un usuario o consultar estadísticas de federación.\n\n**Synapse Admin** (interfaz web de código abierto, desplegable como contenedor separado) utiliza esta misma API y ofrece una vista gráfica: lista de usuarios, salas, dispositivos registrados y tamaño de la base de datos por sala. Útil para detectar una sala federada que está haciendo crecer la base de datos varios gigabytes.\n\nPara las actualizaciones, Synapse publica sus imágenes en `ghcr.io\u002Felement-hq\u002Fsynapse`. Revisa las notas de lanzamiento antes de cada actualización mayor: algunas migraciones de base de datos son irreversibles, y Synapse documenta explícitamente las versiones mínimas requeridas para pasar de una rama a otra.",{"type":38,"title":91,"body":92},"Purga de historial y control del espacio en disco","Un servidor federado acumula el historial de todas las salas a las que se une — incluidas las grandes salas públicas. Sin purgas regulares, la base de datos PostgreSQL puede alcanzar decenas de gigabytes en pocos meses.\n\nSynapse ofrece dos mecanismos. La purga de historial vía la API de administración (`POST \u002F_synapse\u002Fadmin\u002Fv1\u002Fpurge_history`) elimina eventos anteriores a una fecha en una sala concreta — sin afectar a otras salas ni a mensajes que aún no has leído. El comando `synapse_auto_compressor` comprime después los grupos de `state_groups` en PostgreSQL, lo que puede reducir a la mitad el tamaño de la base en un servidor activo desde hace varios meses.\n\nActiva también `gc_thresholds` en `homeserver.yaml` para controlar el recolector de basura de Python de Synapse: en un servidor federado activo, el GC por defecto raramente es óptimo para la memoria residente.",{"type":38,"title":94,"body":95},"Bridges: conectar Matrix con Telegram, Signal y WhatsApp","Una de las ventajas distintivas de Matrix es su ecosistema de **bridges** — servicios que enlazan tu servidor con otras redes. Matterbridge, Beeper o los bridges oficiales del proyecto Matrix retransmiten mensajes entre una sala Matrix y un grupo de Telegram, un canal de Slack o una conversación de WhatsApp.\n\nCada bridge se despliega como un servicio adicional (un contenedor extra en tu `compose.yml`) y se registra con Synapse a través de un archivo `registration.yaml`. El bridge recibe una porción del espacio de identificadores (`@telegram_*:your-domain.com`) y traduce los mensajes en ambas direcciones.\n\nPara Telegram, `mautrix-telegram` es el bridge más mantenido. Para Signal, `mautrix-signal`. Ambos bridges requieren una cuenta en la red objetivo. WhatsApp y Meta Messenger pasan por `mautrix-meta`, que usa la API no oficial: su funcionamiento depende de las decisiones de Meta y puede interrumpirse.",{"type":97,"title":98,"headers":99,"rows":104},"comparison","Matrix \u002F Synapse vs. alternativas de mensajería auto-alojada",[100,101,102,103],"Criterio","Matrix + Synapse","Mattermost","Rocket.Chat",[105,109,114,119,124,128],[106,107,108,108],"Federación entre servidores","Sí, nativa","No",[110,111,112,113],"Cifrado de extremo a extremo","Sí, por sala","Opcional (beta)","No (texto claro en tránsito)",[115,116,117,118],"Bridges a otras redes","Sí (Telegram, Signal, Slack…)","Parcial (Slack)","Parcial",[120,121,122,123],"Consumo de RAM (reposo)","~300 MB (pila completa)","~400 MB","~500 MB",[125,126,127,127],"Cliente web auto-alojable","Element Web (código abierto)","Sí (incluido)",[129,130,131,131],"Clientes móviles","Element iOS\u002FAndroid","Nativo iOS\u002FAndroid",{"type":133,"title":134,"body":135},"tip","Cierra los registros, y mantenlos cerrados","Un servidor Matrix con registros abiertos es descubierto rápidamente y usado como relevo por terceros: cuentas de spam, salas no deseadas, y una base de datos que crece sin que hayas pedido nada. Mantén `enable_registration` en `false` y crea cuentas manualmente, o usa autenticación externa (SSO, OIDC). Si abres los registros, exige al menos una verificación por correo electrónico y activa `registration_requires_token`.",{"type":133,"title":137,"body":138},"Documentación oficial","Para la configuración avanzada — workers, bridges, módulos de autenticación, purga de historial — consulta la \u003Ca href=\"https:\u002F\u002Felement-hq.github.io\u002Fsynapse\u002Flatest\u002F\">documentación oficial de Synapse\u003C\u002Fa>. Esta guía cubre el despliegue en VPS; la documentación de origen sigue siendo la referencia para ajustes finos y actualizaciones de versión mayor.","Lanza tu servidor Matrix en un VPS de ServOrbit","Un VPS con Docker preconfigurado, un dominio vinculado y el certificado TLS instalado automáticamente: Synapse, PostgreSQL y Element Web se despliegan en un solo paso. Tus conversaciones se quedan contigo.","Lanzar mi VPS","\u002Fvps-cloud",[144,161],{"id":145,"slug":146,"slugs":147,"title":151,"excerpt":152,"readTime":17,"views":153,"isPinned":19,"publishedAt":154,"updatedAt":21,"category":155,"categories":156,"featuredImage":30,"bgImage":31,"posterImage":158,"relatedSolution":159},76,"alojar-mattermost-en-un-vps",{"fr":148,"en":149,"ar":150,"es":146},"heberger-mattermost","host-mattermost-on-your-own-vps","استضافة-mattermost-على-خادم-vps-الخاص-بك","Alojar Mattermost en su propio VPS","Guía completa 2026: despliegue Mattermost v10\u002Fv11 en VPS con Docker, PostgreSQL, SSL, integraciones y copias de seguridad. Alternativa self-hosted a Slack.",2,"2026-04-05T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[157],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-mattermost-poster.svg",{"categorySlug":25,"appSlug":160},"mattermost",{"id":162,"slug":163,"slugs":164,"title":168,"excerpt":169,"readTime":170,"views":171,"isPinned":19,"publishedAt":172,"updatedAt":21,"category":173,"categories":174,"featuredImage":30,"bgImage":31,"posterImage":176,"relatedSolution":177},71,"alojar-nextcloud-en-su-propio-vps",{"fr":165,"en":166,"ar":167,"es":163},"heberger-nextcloud","hosting-nextcloud-on-your-own-vps","استضافة-nextcloud-على-خادمك-الـvps-الخاص","Alojar Nextcloud en VPS: guía completa NC 34 y seguridad","Despliegue Nextcloud 34.0.2 en su VPS con Docker y Redis. Guía completa: apps ausentes en NC 34.0.0, restricción PostgreSQL oc_filecache_extended y CVE de 2FA.",11,0,"2026-04-10T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[175],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-nextcloud-poster.svg",{"categorySlug":25,"appSlug":178},"nextcloud",1789665001983]