Instalación#
Esta parte explica cómo se instala Empowerment Center 8 en un servidor propio, desde las imágenes de contenedor hasta el primer usuario que entra a analizar datos. Elija la forma de instalar y siga sus páginas en orden.
Antes de empezar#
Tenga a mano:
- Un servidor que cumpla los requisitos, con Docker y Docker Compose o con una JRE 25 y un servidor web.
- El nombre público de la instalación (
ecenter.example.org) y su certificado TLS. - Los datos del servidor de correo de la organización, si se van a enviar correos.
- Las imágenes de ECenter (
ecenter/backend:8.0.0yecenter/frontend:8.0.0) o las fuentes para construirlas. - El contacto de Action Ware para pedir la licencia.
Formas de instalar#
| Forma | Cuándo conviene | Página |
|---|---|---|
| Docker Compose | La forma de referencia: un único servidor con la BD propia, el backend, el frontal y, si se quieren, el navegador sin interfaz y el motor de rutas. Es la instalación que se prueba con cada versión. | Instalar con Docker Compose |
| Otro orquestador | Kubernetes u otro: las mismas imágenes, con la configuración de deploy/compose.yaml traducida a sus objetos. |
Instalar con Docker Compose, como referencia |
| Sin contenedores | Cuando la organización no admite contenedores: el backend como un servicio Java y la aplicación web en el servidor web que ya tenga. | Instalar sin contenedores |
Orden de la instalación#
- Preparar la configuración. Las variables obligatorias, la clave de los secretos y el primer administrador.
- Arrancar. La primera vez, el backend crea el esquema de la BD propia (uno o dos minutos).
- Publicarlo con TLS. El frontal es la entrada o va detrás del proxy de la organización: El proxy inverso y TLS.
- Instalar la licencia. Sin ella, la aplicación solo deja instalarla: La licencia.
- Poner en marcha. El correo, la primera conexión, el metadata y los usuarios: Primer arranque y puesta en marcha.
- Añadir lo opcional. El navegador sin interfaz, el motor de rutas, el mapa base y las métricas para Prometheus: Servicios opcionales.
Las piezas de la instalación#
| Fichero | Qué es |
|---|---|
deploy/compose.yaml |
La instalación de ejemplo con Docker Compose: la BD propia, el backend, el frontal y, con perfiles, el navegador sin interfaz y el motor de rutas. No lleva ningún secreto. |
deploy/ecenter.env.example |
La configuración de una instalación, comentada y sin secretos. Se copia como deploy/.env. |
deploy/db-init/20-ecenter.sql |
El script que prepara la BD propia la primera vez que arranca su contenedor. |
backend/Dockerfile |
La imagen del backend: la aplicación sobre una JRE 25, con el usuario ecenter (uid 10001). |
frontend/Dockerfile y frontend/nginx/ |
La imagen del frontal: la aplicación web compilada y los manuales, servidos por nginx sin privilegios (uid 101), con su configuración de proxy. |
Ninguna imagen lleva código fuente, herramientas de compilación ni secretos, y ninguna corre como root. Las imágenes de terceros (PostGIS, Chromium, Valhalla) van fijadas por su digest: construir o arrancar otra vez no cambia lo que se instala sin que usted lo decida (véase Actualizar de versión).
Los manuales en /ayuda/#
La imagen del frontal lleva el manual de usuario, el de administración, el glosario y las novedades, y los sirve en /ayuda/ de la propia instalación (https://ecenter.example.org/ayuda/). La aplicación los abre desde su menú Ayuda, con F1, desde el botón Ayuda del portal y desde el enlace Ayuda para entrar de la pantalla de entrada.
- Sin sesión ni licencia. Son ficheros estáticos, sin datos del cliente: no pasan por el backend y se leen aunque no haya licencia o el backend esté parado. Ninguna variable los cambia.
- Van con la versión. Se construyen con la imagen a partir de las fuentes, así que cada versión lleva sus manuales. La construcción comprueba los enlaces, las figuras y la ayuda de cada pantalla: si algo falla, la imagen no se construye.
- Sin PDF. La imagen no lleva los PDF de los manuales ni su versión imprimible: los PDF se descargan del artefacto
manualesde la integración continua.
Para construir la imagen, el directorio manuales/ se pasa como un segundo contexto, manuales (con Compose lo hace deploy/compose.yaml; con docker build, --build-context manuales=manuales; véase Preparar las imágenes). Con otro servidor web, véase Otro servidor web en lugar del frontal.
La ayuda de cada pantalla#
Ayuda de esta pantalla (y F1) abre la página del manual que explica la pantalla que se ve. Qué página corresponde a cada pantalla lo dice el mapa frontend/src/app/shell/help-pages.json: cada ruta de la aplicación, sin parámetros (cubes/:job), con su página relativa a /ayuda/ y su ancla (usuario/cubos/visor.html), y, en las pantallas con pestañas, una página por pestaña (tab).
Si cambia los manuales, mantenga el mapa al día:
- Al renombrar una página o un encabezado que nombra el mapa, cambie también el mapa. El ancla de un encabezado es su texto en minúsculas, sin acentos y con guiones (
## La lista de usuariosda#la-lista-de-usuarios). - El hook
manuales/hooks/ayuda.pylo comprueba al final de cada construcción del sitio: si una página o un ancla del mapa no existe, la construcción falla y dice qué pantalla se queda sin ayuda. Como la imagen del frontal construye el sitio, tampoco se construye la imagen. - Al añadir una pantalla a la aplicación, añádala al mapa: una prueba del frontal comprueba que toda ruta tiene su página.