Instancias remotas y headless
Una IllusionDB local puede trabajar directamente sobre otra instancia, normalmente tu servidor en línea. La interfaz siempre procede de la instalación local, pero cada cambio de datos llega de inmediato al servidor. El servidor ya no necesita entonces una interfaz web propia: su interfaz de administración puede desactivarse, de modo que solo la API REST siga funcionando como servicio headless.
Configurar una conexión
- En el servidor: en Ajustes → Mi cuenta, crea un token de API para una cuenta de administrador y cópialo.
- En local: Ajustes → Instancias remotas → Nueva conexión. Introduce un nombre, la dirección (p. ej.
https://db.example.com) y el token. El token se guarda cifrado y no se vuelve a mostrar. - En la columna Estado, IllusionDB comprueba al instante si el servidor es accesible, si el token es válido y pertenece a un administrador y si ambos lados tienen la misma versión.
Solo un administrador puede crear y usar conexiones remotas.
Cambiar entre instancias
El selector está en la parte superior de la barra lateral: Local o una de tus conexiones. Mientras una conexión está activa, el selector se vuelve amarillo con la etiqueta LIVE y aparece un aviso sobre cada página: cada cambio se aplica de inmediato en el servidor. Se vuelve rojo si el servidor no es accesible o tiene otra versión; en ese caso actualiza ambos lados a la misma versión.
En modo en vivo todo procede del servidor: fuentes de datos, tablas, vistas, archivos, scripts, usuarios, grupos y permisos. Solo tu propio inicio de sesión, tu cuenta (contraseña, tus propios tokens de API) y la gestión de las conexiones remotas permanecen en local. En el servidor actúas con los permisos de la cuenta a la que pertenece el token.
Desactivar la interfaz de administración (headless)
En Ajustes → Instancias remotas → Interfaz de administración puedes desactivar la interfaz web de la instancia en la que estás trabajando; en modo en vivo, la del servidor. A partir de entonces:
- sin interfaz web, sin inicio de sesión, sin asistente de configuración: ya no hay página de inicio de sesión contra la que probar contraseñas;
- las sesiones de navegador abiertas terminan de inmediato;
- la API REST con tokens de API, los endpoints de scripts propios, las tablas de lectura pública y
/healthzsiguen funcionando igual.
Solo se puede desactivar si existe en esa instancia un token de API de una cuenta de administrador (o hay un MASTER_TOKEN definido); de lo contrario, nadie podría acceder después. Puedes reactivarla en cualquier momento desde local mediante la conexión: elige el servidor en el selector y luego Ajustes → Instancias remotas → Activar interfaz de administración.
Vías de emergencia y variables de entorno
| Variable / comando | Efecto |
|---|---|
HEADLESS=true |
Desactiva la interfaz de administración de forma fija, independientemente del ajuste. No se puede cambiar desde la interfaz. |
MASTER_TOKEN=<al menos 32 caracteres> |
Token de administrador adicional solo desde el entorno, sin registro en la base de datos. La vía de regreso si ya no queda ningún token de API: defínelo, reinicia, conéctate desde local y reactiva la interfaz. Genéralo p. ej. con openssl rand -base64 32. |
illusiondb -enable-admin |
Reactiva la interfaz directamente en el servidor y termina; después reinicia IllusionDB con normalidad. En el contenedor Docker: docker compose exec illusiondb /app/illusiondb -enable-admin y luego reinicia el contenedor. |