Alojar el relé en tiempo real: tres opciones equivalentes¶
La colaboración en tiempo real (coedición en vivo, cursores y ramificación) se transporta mediante un pequeño relé de backend de sincronización (consulta la sección de Coedición en tiempo real de la guía de proyectos compartidos). Dónde se ejecuta ese relé es tu elección, y la plataforma ofrece tres opciones de alojamiento equivalentes — ninguna de ellas es una opción "recomendada" o "de producción" por defecto, y elegir una no cambia nada en la app ni en el backend en sí.
Sin opción forzada por defecto
El comportamiento de colaboración de la app es idéntico sin importar qué
opción uses, incluido si no usas ninguna de ellas: el valor por defecto
entregado es local/loopback, y adoptar cualquiera de las otras dos
opciones no requiere ningún cambio de código en la app ni en el
backend (REQ-P13-BACKEND-003).
Opción 1 — Local/loopback (el valor por defecto entregado)¶
Nada que configurar. El enlace por defecto del relé es 127.0.0.1
(loopback), y es lo que usa la app tal cual — para una sola máquina, pruebas
locales o uso sin conexión. Esta es la base con la que se mide cualquier otra
opción, y está completamente probada de extremo a extremo por la suite de
pruebas automatizada.
Opción 2 — Adaptador de proveedor de nube¶
La colaboración también puede fluir a través del mismo puerto de nube agnóstico de proveedor usado para los guardados en la nube de un solo usuario (consulta la guía de Nube): el adaptador integrado en memoria por defecto, o una cuenta real de Google Drive / OneDrive / Dropbox detrás del mismo flujo de Conectar. Elige esta opción si ya enrutas tus proyectos a través de un proveedor de nube y quieres que la colaboración siga el mismo camino — todo se maneja desde el menú Nube dentro de la app, así que no necesitas administrar ningún servidor por tu cuenta. Consulta Conectar un proveedor de nube y Proyectos compartidos y comentarios para el flujo de conectar/compartir.
Opción 3 — Autoalojado en un VPS¶
Puedes ejecutar tú mismo el relé sync_backend/ sin cambios, en un VPS
genérico accesible por internet, usando los artefactos de despliegue que se
entregan junto al backend:
deploy/Dockerfile— construye una imagen de contenedor que ejecuta el relé como un proceso sin privilegios de root.deploy/pixelart-sync.service— una unidad systemd para ejecutar el relé como un servicio gestionado en un host Linux.deploy/nginx-sync.conf— una configuración de proxy inverso de Nginx que termina TLS y hace proxy de WSS hacia el relé, con las cabecerasUpgrade/Connectionde WebSocket y el ajuste de tiempo de espera de inactividad que necesita para mantenerse conectado.deploy/run_sync_backend.py— el lanzador que usan estos artefactos para iniciar el relé.
Solo artefactos de despliegue — el código del backend no cambia
Estos archivos empaquetan y ejecutan el mismo relé sync_backend/ que
usan las otras dos opciones; no lo modifican. Elegir esta opción es
completamente opcional y reversible, y no tiene ningún efecto sobre
quienes no la usan.
Detalle de nivel operador
El aprovisionamiento de certificados, las reglas de cortafuegos y otros
pasos de administración de servidor quedan fuera del alcance de esta guía
de usuario. La configuración detallada para operadores vive en las notas
de despliegue privadas del proyecto; los comentarios de configuración en
línea de cada artefacto de deploy/ anterior son el punto de partida de
cara al público.
Elegir entre las tres¶
| Opción | Esfuerzo de configuración | Adecuada para |
|---|---|---|
| Local/loopback | Ninguno — es el valor por defecto | Una sola máquina, pruebas locales, uso sin conexión |
| Adaptador de proveedor de nube | Conecta un proveedor desde el menú Nube | Equipos que ya usan un proveedor de nube |
| Autoalojado en un VPS | Despliega los artefactos de deploy/ anteriores |
Alojar tú mismo el relé, en tu propio servidor |
Elijas la que elijas (o ninguna), el resto del flujo de colaboración — compartir, comentarios, presencia, coedición en tiempo real y ramificación — se comporta exactamente como se documenta en Proyectos compartidos y comentarios.