Diseñador Web — Reportman Server
Diseña, previsualiza y ejecuta informes de Report Manager desde el navegador, con un copiloto de IA. En tu propio servidor, con Docker.
Reportman Server es un único contenedor en tu red con el motor de informes, el almacén de informes y un diseñador web. Tu equipo diseña los informes en el navegador, los previsualiza en PDF y los ejecuta mediante una API pública, sin instalar nada en los PC. Los informes son los mismos ficheros .rep que leen el diseñador Delphi, printreptopdf y el Servidor Web de informes.
El diseñador y el servidor son gratuitos. El copiloto de IA es opcional: todo lo demás funciona sin él. Cuando lo quiera, la IA puede correr en su propio equipo — un modelo local servido por el Reportman Agent, sin coste — o puede suscribirse a un plan de Reportman AI y usar los modelos probados con él.
Arrancarlo
docker run -d \
--name reportman-server \
--restart unless-stopped \
-p 8090:8090 \
-v reportman-server-data:/app/data \
tonimartir/reportman-server:latest
En el primer arranque el servidor aún no está instalado. Lee el código de instalación, de un solo uso, en su registro:
docker logs reportman-server
Después abre http://localhost:8090, escribe el código, elige cómo se entra y crea el primer administrador. Solo puede instalarlo quien tenga acceso al registro del servidor.
Cómo se entra
- Usuarios de este servidor (recomendado): cada persona entra con un usuario de este servidor. Los administradores gestionan usuarios, grupos y, para cada carpeta de informes, qué grupos ejecutan y cuáles diseñan. Se puede importar el
reportmanserver.inidel Servidor Web de informes. - Red de confianza: nadie inicia sesión; quien llega al puerto diseña, ejecuta y abre la consola. Úsalo solo en una red cerrada, nunca con el puerto abierto a Internet.
La página de instalación elige el modo. Para fijarlo desde Docker, sin página de instalación, añade una de estas opciones a docker run:
# red de confianza
-e Server__Auth=trusted
# usuarios, con el primer administrador creado en el primer arranque
-e Server__Auth=users -e Server__AdminUser=ADMIN -e Server__AdminPassword=cambiala
La cuenta de Reportman AI es solo para la IA: no es la puerta del servidor.
El volumen de datos
Todo lo de la instalación vive en /app/data, ficheros normales sin nada atado a la máquina:
informes/ | los informes, una carpeta por alias; al guardar se conservan las últimas versiones en .versions/ |
dbxconnections.ini | las conexiones, en el formato que leen los diseñadores |
fuentes/ | tus propias fuentes |
access.json, keys/ | usuarios, grupos, permisos y las claves que firman las sesiones |
apikeys.json | las claves de la API |
server-id | esta instalación ante Reportman AI |
Copia la carpeta y la instalación se va con ella. Para clonar un servidor como uno nuevo (una copia de pruebas, una segunda oficina), borra server-id antes de su primer arranque: entonces cuenta como una instalación nueva para Reportman AI, con sus propias sesiones de IA.
Conexiones
- Directas: el servidor abre la base de datos él mismo. La imagen incluye PostgreSQL, Firebird, SQL Server, MySQL/MariaDB, SQLite y ODBC. Un fichero de base de datos dentro del volumen se nombra por su nombre de fichero, por ejemplo
clientes.db. - A través del Reportman Agent: el Reportman Agent se instala junto a tu base de datos y el servidor llega a él a través de Reportman AI o de un canal directo. La conexión necesita la clave API del Agent, porque el servidor ejecuta informes sin nadie con la sesión abierta.
El asistente de nuevo informe, el mismo del diseñador Delphi, crea los dos tipos y los prueba antes de guardarlos.
Un informe hecho por la IA con un solo párrafo
Una instalación nueva trae Ejemplos/ventas-por-cliente.rep y la conexión EXAMPLE. Es la base de datos de ejemplo de Reportman AI, que no necesita clave. La IA diseñó el informe con una sola petición, que el informe guarda en el grupo AI_REQUEST e imprime al final (en inglés; esta es la original):
«Quiero que diseñes un informe profesional de ventas por cliente grupo por cliente, en la cabecera el nombre de cliente y el código, en el pie de grupo el total de ventas por cliente, el detalle debe contener los arículos vendidos a ese cliente pero sólo una línea por artículo es decir hay que agrupar los datos en el sql por cliente y artículo, al final de todo un gráfico de ventas de barras por artículo (todos los clientes), en el pie de cada cliente un gráfico de barras tambíen con sus artículos, debe ser un informe profesional, en la cabecera de página debe aparecer el título del informe, inventatelo y Página X de TOTAL»
El resultado tiene dos datasets, un grupo por cliente con su total y su gráfico, y un gráfico de todos los clientes al final.
El copiloto de IA
Diseña y modifica informes en lenguaje natural, y ayuda con el SQL y las expresiones. Es la misma IA del diseñador Delphi. Las llamadas a la IA van del servidor a Reportman AI, así que el servidor necesita salida a Internet hacia aiapi.reportman.es, por HTTPS normal
(puerto 443). Solo el inicio de sesión en la IA sale del navegador.
Privacidad: para diseñar, el copiloto envía a Reportman AI la definición del informe y las columnas de sus datasets, igual que el diseñador Delphi. Cada llamada queda en el registro de IA del copiloto y en el registro de auditoría del servidor.
Fuentes
Un contenedor solo ve sus propias fuentes. La imagen lleva sustitutas con las mismas medidas que las fuentes de Windows (Arial, Times New Roman, Courier New, Arial Narrow, Calibri, Cambria), así que un informe conserva la maquetación que tenía en Windows. También lleva Noto para la mayoría de escrituras, entre ellas árabe (Noto Naskh Arabic), hebreo, las índicas, tailandés, chino, japonés y coreano, además de Amiri, Vazirmatn, emoji monocromos, Roboto, Open Sans, Lato y Montserrat.
- Tus propias fuentes: copia los ficheros en
fuentes/dentro del volumen y reinicia el contenedor. - Dentro de una imagen:
FROM tonimartir/reportman-server, copia los ficheros en/usr/share/fonts/truetype/<nombre>/yRUN fc-cache -f. - Comprobarlo: Servidor → Diagnóstico → Fuentes muestra lo que ve el motor.
Ejecutar informes desde tus aplicaciones
Crea una clave API en la consola (Servidor → Claves) y ejecuta cualquier informe guardado:
curl -X POST "http://localhost:8090/api/reports/INFORMES/execute?path=Ejemplos/ventas-por-cliente.rep&format=pdf" \
-H "X-ReportmanServer-ApiKey: rpsk_..." -o informe.pdf
Formatos: pdf, csv, text y metafile. Los parámetros del informe van en la consulta o en un cuerpo JSON. La consola tiene un explorador de la API que monta la petición y la muestra en curl, PowerShell, fetch, C# y Delphi. La referencia OpenAPI está en /scalar.
Detrás de un proxy inverso
Las respuestas de la IA llegan en streaming (text/event-stream bajo /api/ai/). Un proxy que las acumula muestra la respuesta solo al final.
- nginx:
location /api/ai/ { proxy_pass …; proxy_buffering off; proxy_read_timeout 600s; } - IIS / ARR:
responseBufferLimit="0"en la regla y un tiempo de espera del proxy de unos minutos. - Sin compresión de respuestas en
/api/ai/.
Actualizar
docker pull tonimartir/reportman-server:latest
docker rm -f reportman-server
# y el mismo docker run de arriba: el volumen conserva la instalación
Imagen en Docker Hub: tonimartir/reportman-server. El motor de informes es de código abierto: github.com/tonimartir/reportman.