For the complete documentation index, see llms.txt. This page is also available as Markdown.

Docker

Despliegue con Docker - repositorio de Pentaho 11 + PostgreSQL 15 ..

Contenedor Docker

La implementación de contenedores Docker te permite empaquetar y ejecutar productos Pentaho dentro de contenedores portátiles y listos para producción. La contenerización garantiza un comportamiento consistente entre los entornos de desarrollo, pruebas y producción, al tiempo que simplifica las operaciones de despliegue y escalado.

Puedes crear contenedores Docker para Pentaho Server, que incluye la plataforma completa de Business Analytics e Integración de Datos con la Consola de Usuario de Pentaho, servicios de programación y gestión de repositorios. El servidor admite bases de datos empresariales, incluidas PostgreSQL, MySQL, Oracle y SQL Server.

Para el procesamiento ETL distribuido, puedes desplegar contenedores del servidor Carte que ejecutan transformaciones y trabajos de forma remota. Las herramientas de línea de comandos Kitchen y Pan también están disponibles como contenedores, lo que permite la integración con canalizaciones CI/CD y flujos de trabajo por lotes automatizados.

Los despliegues en contenedores son especialmente eficaces para entornos en la nube, donde puedes escalar rápidamente los recursos para adaptarlos a las demandas de procesamiento de datos. Al ejecutar cargas de trabajo de Pentaho en contenedores, las organizaciones pueden optimizar los costos de infraestructura y, al mismo tiempo, mantener la flexibilidad para moverse entre plataformas locales y en la nube.

Arquitectura de contenedores Docker que muestra los contenedores de Pentaho Server y PostgreSQL

Este contenedor ejecuta la plataforma completa de Pentaho Business Analytics e Integración de Datos sobre Apache Tomcat 10. Incluye la Pentaho User Console (PUC), los servicios de programación y todas las capacidades de análisis.

Este contenedor proporciona el backend de base de datos relacional utilizando PostgreSQL 17. Aloja tres bases de datos críticas requeridas por Pentaho: Jackrabbit (repositorio de contenido), Quartz (programador) y Hibernate (seguridad y auditoría). Los datos se conservan mediante un volumen Docker para sobrevivir a los reinicios del contenedor.

Arquitectura de la base de datos PostgreSQL

Pentaho Server requiere tres bases de datos separadas, cada una con un propósito distinto:

Base de datos
Propietario
Propósito y contenido

jackrabbit

jcr_user

Java Content Repository (JCR) - Almacena todo el contenido de Pentaho, incluidos informes, paneles, fuentes de datos, esquemas de análisis y archivos de usuario. Este es el almacenamiento principal de contenido para el repositorio de Pentaho.

quartz

pentaho_user

Quartz Scheduler - Gestiona todos los trabajos programados, desencadenadores y calendarios. Contiene tablas para definiciones de trabajos (QRTZ6_JOB_DETAILS), desencadenadores (QRTZ6_TRIGGERS), historial de ejecución y bloqueos de coordinación de clúster.

hibernate

hibuser

Hibernate Repository - Aloja la configuración de seguridad, el registro de auditoría, los datos de sesión de usuario y contiene dos esquemas adicionales: pentaho_dilogs (registro de ejecución ETL) y pentaho_operations_mart (marter de datos analíticos).

La base de datos hibernate contiene esquemas especializados para el monitoreo operativo:

pentaho_dilogs: Captura información detallada de ejecución ETL, incluidos registros de trabajos, registros de transformaciones, métricas de rendimiento de pasos y registros de errores. Esencial para depurar flujos de trabajo de integración de datos y supervisar el estado de la canalización.

pentaho_operations_mart: Un mart de datos dimensional para analítica sobre el uso de Pentaho. Contiene tablas de dimensiones (DIM_DATE, DIM_TIME, DIM_EXECUTOR) y tablas de hechos (FACT_EXECUTION, FACT_STEP_EXECUTION) para analizar la utilización de la plataforma, las tendencias de rendimiento y la actividad de los usuarios.

Para los despliegues en producción, implementa copias de seguridad periódicas del volumen Docker repository-data. La base de datos jackrabbit es la más crítica, ya que contiene todo el contenido del usuario. Considera usar pg_dump para copias de seguridad lógicas o instantáneas del volumen para opciones de recuperación completas.

Puntos clave:

  • El contenedor de Pentaho se conecta a PostgreSQL usando el nombre del servicio 'repository' como nombre de host

  • PostgreSQL escucha internamente en el puerto 5432 (no expuesto al host por defecto)

  • Pentaho Server expone el puerto 8080, mapeado al sistema host

  • Todo el tráfico entre contenedores permanece dentro de la red Docker por seguridad

Flujo de datos que muestra solicitudes HTTP y conexiones JDBC

Tomcat gestiona grupos de conexiones definidos en context.xml. Cada grupo cumple un propósito específico:

Nombre del grupo
Destino de la conexión
Usado para

jdbc/Hibernate

repository:5432/hibernate

Seguridad, usuarios, roles

jdbc/Quartz

repository:5432/quartz

Programación de trabajos

jdbc/jackrabbit

repository:5432/jackrabbit

Repositorio de contenido

jdbc/Audit

repository:5432/hibernate

Registro de auditoría

jdbc/live_logging_info

repository:5432/hibernate

Registros de ejecución ETL

jdbc/PDI_Operations_Mart

repository:5432/hibernate

Analítica de operaciones

Cuando un usuario accede a Pentaho Server:

1. El navegador del usuario envía una solicitud HTTP a localhost:8080

2. Docker reenvía la solicitud al puerto 8080 del contenedor de Pentaho

3. Tomcat recibe la solicitud y la enruta a la aplicación web pentaho.war

4. La aplicación recupera/almacena datos mediante grupos de conexiones JDBC

5. Las conexiones JDBC se enrutan a 'repository:5432' (contenedor PostgreSQL)

6. La respuesta fluye de vuelta por la misma ruta al navegador del usuario

Mapeo de volúmenes

El despliegue utiliza tanto volúmenes Docker con nombre como montajes vinculados para la persistencia y la configuración:


Sigue los pasos siguientes para desplegar Pentaho Server con el repositorio PostgreSQL 15.

Preparar el entorno

Comprueba que Docker está en ejecución:

  • Copiar activos de Pentaho-Server-PostgreSQL

  • Copiar pentaho-server-ee-11.0.0.0-237.zip

  • Verificar Docker y Docker Compose

  • Comprobar puertos

  1. Crea el directorio del proyecto y copia los activos.

  1. Copia el directorio /docker/stagedArtefacts con pentaho-server-ee-11.0.0.0-237.zip.

Si has desplegado un Pentaho Server archivado, entonces copia desde:

/opt/pentaho/software/pentaho-server-ee-version

De lo contrario, descarga el paquete desde el Portal del cliente de Pentaho.

  1. Verifica que el archivo.

  1. Comprueba la versión de Docker.

  1. Comprueba la versión de Docker Compose.

  1. Verifica que el demonio de Docker esté en ejecución.

  1. Comprueba que el puerto 8080 / 8090 esté disponible en el sistema host.

Si el puerto 8080 está en uso por otra aplicación, puedes cambiar la variable PORT en el archivo .env por cualquier puerto disponible (por ejemplo, 8090, 8081, 9090).

  1. Pentaho Server requiere una licencia válida. El .env archivo contiene una LICENSE_URL que apunta al servidor de licencias de Flexera. Asegúrate de que tus derechos de licencia estén activos antes del despliegue.

Estructura del directorio

Esta configuración de despliegue ofrece varias capacidades importantes:

  • Despliegue completamente autónomo y portátil.

  • Inicialización automatizada de la base de datos con scripts SQL.

  • Comprobaciones de estado y orden de inicio adecuado entre servicios.

  • Volúmenes de datos persistentes para la base de datos y el contenido de Pentaho.

  • HashiCorp Vault para la gestión de secretos con autenticación AppRole.

  • Contenedores de solo lectura con montajes tmpfs para mayor seguridad.

  • Límites de recursos (CPU/memoria) para estabilidad.

  • Rotación de registros para evitar el agotamiento del disco.

  • Sistema de sustitución de software para personalizar configuraciones sin modificar archivos principales.

  • Plantillas de configuración listas para producción.

  • Controlador JDBC de PostgreSQL incluido

  • Procedimientos fáciles de copia de seguridad y restauración


Archivos del directorio raíz

Archivos de documentación:

README.md - La documentación principal de entrada que proporciona una visión general del proyecto, instrucciones de inicio rápido, requisitos previos e información general de uso para el taller.

ARCHITECTURE.md - Documentación técnica detallada que abarca la arquitectura del sistema, las relaciones entre componentes, el diseño de contenedores, la red, el flujo de datos y las decisiones arquitectónicas para el despliegue basado en Docker.

CONFIGURATION.md - Guía de referencia de configuración completa que detalla todas las variables de entorno disponibles, opciones de configuración, parámetros de personalización y ajustes tanto para Pentaho Server como para los componentes de PostgreSQL.

TROUBLESHOOTING.md - Guía de resolución de problemas con incidencias comunes, mensajes de error, procedimientos de diagnóstico y soluciones para problemas de despliegue y tiempo de ejecución que podrías encontrar.

Orquestación y despliegue:

docker-compose.yml - El archivo de definiciones de servicios de Docker Compose que declara todos los contenedores (Pentaho Server, PostgreSQL, potencialmente Vault y otros servicios), sus configuraciones, red, volúmenes y dependencias.

Makefile - Contiene objetivos de comandos de conveniencia para operaciones comunes como construir, iniciar, detener y limpiar el entorno. Los usuarios pueden ejecutar make help para ver los comandos disponibles.

deploy.sh - Script automatizado de despliegue que probablemente gestiona el flujo completo de despliegue, incluida la validación del entorno, la construcción de imágenes, el inicio de servicios y la configuración inicial.

Configuración del entorno:

.env - El archivo de configuración del entorno activo (creado a partir de la plantilla) que contiene valores reales para contraseñas de bases de datos, puertos, nombres de host y otros ajustes específicos del entorno. Este archivo normalmente se ignora en Git.

.env.template - El archivo de plantilla con valores predeterminados y marcadores de posición que los usuarios copian para crear su .env archivo, proporcionando una referencia para todas las variables de entorno configurables.


Contexto de compilación de Docker

La docker/ el directorio contiene todos los componentes principales necesarios para construir y ejecutar el despliegue en contenedores de Pentaho Server:

Dockerfile - Esta es la configuración principal de compilación que utiliza un enfoque de compilación en varias etapas para crear la imagen del contenedor de Pentaho Server. Las compilaciones en varias etapas ayudan a optimizar el tamaño final de la imagen al separar el entorno de compilación del entorno de ejecución.

entrypoint/ el directorio contiene el docker-entrypoint.sh script, que es el script de inicialización que se ejecuta cuando el contenedor se inicia. Normalmente se encarga de tareas como la configuración del entorno, la gestión de la configuración, las comprobaciones de estado y el inicio de los servicios de Pentaho Server.

stagedArtifacts/ el directorio sirve como área de preparación para el paquete de instalación de Pentaho Server. Actualmente contiene pentaho-server-ee-11.0.0.0-237.zip, que es la versión Enterprise Edition 11.0.0.0 compilación 237 que se extrae e instala durante el proceso de compilación de la imagen Docker.


Inicialización de la base de datos del repositorio PostgreSQL

La db_init_postgres/ el directorio contiene los scripts de inicialización de la base de datos PostgreSQL que configuran todos los esquemas requeridos para Pentaho Server 11. Estos scripts están numerados para ejecutarse en una secuencia específica:

1_create_jcr_postgresql.sql - Crea el Repositorio de contenido Jackrabbit (JCR) esquema, que almacena el contenido del repositorio de Pentaho, incluidos archivos de solución, programaciones, informes, paneles y metadatos. Este es el sistema principal de gestión de contenido para Pentaho.

2_create_quartz_postgresql.sql - Configura el Programador Quartz esquema, que gestiona todos los trabajos y tareas programados dentro de Pentaho Server, incluida la generación de informes, las ejecuciones ETL y otros procesos automatizados.

3_create_repository_postgresql.sql - Crea el Repositorio Hibernate esquema, que almacena la autenticación de usuarios, los datos de autorización, roles, permisos y otra información relacionada con la seguridad gestionada por el subsistema de seguridad de Pentaho.

4_pentaho_logging_postgresql.sql - Establece el Registro de auditoría e Integración de Datos (DI) esquema para capturar registros de ejecución, métricas de transformaciones/trabajos e información de la pista de auditoría de los procesos PDI que se ejecutan en el servidor.

5_pentaho_mart_postgresql.sql - Crea el Mart de operaciones esquema, que almacena datos analíticos operativos sobre el uso de Pentaho Server, métricas de rendimiento e información de supervisión del sistema utilizada por el panel de Pentaho Operations Mart.


Configuración de PostgreSQL y Vault

postgres-config/ - Configuración de PostgreSQL

custom.conf - Parámetros personalizados de ajuste del rendimiento de PostgreSQL optimizados para las cargas de trabajo de Pentaho Server. Esto probablemente incluye configuraciones para buffers compartidos, memoria de trabajo, límites de conexión, configuraciones de puntos de control y otros parámetros relacionados con el rendimiento adaptados para manejar los requisitos de base de datos de Pentaho.

pg_hba.conf - Archivo de configuración de autenticación basada en host de PostgreSQL que controla los métodos de autenticación de conexión de clientes, las reglas de acceso por dirección IP y las políticas de seguridad para las conexiones a la base de datos desde el contenedor de Pentaho Server.


vault/ - Integración de HashiCorp Vault

Este directorio admite la incorporación de Vault para la gestión de secretos:

config/vault.hcl - El archivo de configuración del servidor HashiCorp Vault que define el backend de almacenamiento, los ajustes del oyente, los extremos de la API, el comportamiento de sellado/desellado y los parámetros operativos generales del servidor Vault.

policies/pentaho-policy.hcl - Política de control de acceso de Vault específicamente para Pentaho Server, que define qué rutas de secretos puede leer, escribir o gestionar la aplicación Pentaho. Esto aplica el principio de mínimo privilegio para las credenciales sensibles.


secrets/ - Gestión de secretos de Docker

postgres_password.txt - Un archivo de secretos de Docker que contiene la contraseña de PostgreSQL. Cuando se usan secretos de Docker (o integración con Vault), este archivo proporciona las credenciales de la base de datos de forma segura en lugar de pasarlas como variables de entorno en texto plano. El archivo debe tener permisos restringidos y normalmente se referencia mediante Docker Compose usando secrets: configuración.

Clave
Descripción

postgres_password

Contraseña del superusuario de PostgreSQL

pentaho_user

Nombre de usuario de la base de datos de Pentaho

pentaho_password

Contraseña de la base de datos de Pentaho

jdbc_url

URL de conexión JDBC


Anulaciones de configuración de Pentaho

La softwareOverride/ el directorio contiene archivos de configuración y componentes personalizados que anulan la instalación predeterminada de Pentaho Server. La estructura numerada garantiza una organización lógica y potencialmente una aplicación ordenada durante el proceso de compilación de Docker:


1_drivers/ - Controladores de base de datos JDBC

tomcat/lib/ - Contiene archivos JAR de controladores JDBC (específicamente el controlador JDBC de PostgreSQL) que se copian al directorio de bibliotecas de Tomcat, permitiendo que Pentaho Server se conecte a bases de datos PostgreSQL.


2_repository/ - Configuración del repositorio de bases de datos

Esta sección configura la conexión de Pentaho a todos los repositorios respaldados por PostgreSQL:

pentaho-solutions/system/hibernate/ - Archivos de configuración del repositorio Hibernate (repository.xml, hibernate-settings.xml) para datos de seguridad de usuarios/roles

pentaho-solutions/system/jackrabbit/ - Configuración del repositorio Jackrabbit JCR (repository.xml) para almacenamiento de contenido

pentaho-solutions/system/scheduler-plugin/quartz/ - Configuración de la base de datos del programador Quartz (quartz.properties) para la programación de trabajos

tomcat/webapps/pentaho/META-INF/ - Contiene context.xml con definiciones de fuentes de datos JNDI para todas las bases de datos de Pentaho (Quartz, Jackrabbit, Hibernate, Audit, Operations Mart)


3_security/ - Ajustes de autenticación y seguridad

pentaho-solutions/system/ - Archivos de configuración de seguridad que incluyen applicationContext-security.xml, security.properties y, potencialmente, configuraciones LDAP/SSO para autenticación y autorización.


4_others/ - Ajustes adicionales de Tomcat y de la aplicación

pentaho-solutions/system/ - Otras configuraciones a nivel de sistema como pentaho.xml, pentaho-spring-beans.xml, ajustes de log4j y configuraciones del comportamiento de la aplicación

tomcat/ - Personalizaciones del servidor Tomcat, incluidas server.xml, web.xml, setenv.sh para parámetros de JVM y otros ajustes específicos de Tomcat

Scripts de utilidad

La scripts/ el directorio contiene utilidades operativas y de mantenimiento para gestionar el despliegue de Pentaho Server, organizadas por área funcional:


Gestión de bases de datos:

backup-postgres.sh - Utilidad automatizada de copias de seguridad de PostgreSQL que crea volcados de todas las bases de datos de Pentaho (JCR, Quartz, Hibernate, Audit, Operations Mart). Probablemente incluye lógica de marcas de tiempo, compresión y retención de copias de seguridad.

restore-postgres.sh - Utilidad de restauración de bases de datos para recuperar las bases de datos de Pentaho desde archivos de copia de seguridad, útil para recuperación ante desastres, clonación de entornos o migración de datos entre instancias.


Gestión de Vault/secretos:

backup-vault.sh - Script de copia de seguridad de las credenciales de HashiCorp Vault y de las claves de unseal, que garantiza la capacidad de recuperación de la instancia de Vault que contiene credenciales sensibles de Pentaho.

restore-vault.sh - Utilidad de restauración de Vault para recuperar los datos de Vault y reinicializar el sistema de gestión de secretos desde una copia de seguridad.

rotate-secrets.sh - Script automatizado de rotación de contraseñas que actualiza las contraseñas de bases de datos y otras credenciales sensibles en Vault, y luego propaga los cambios a la configuración de Pentaho Server, apoyando las mejores prácticas de seguridad.

fetch-secrets.sh - Utilidad auxiliar para recuperar secretos de Vault de forma programática, útil para scripts que necesitan acceder a credenciales sin codificarlas.

vault-init.sh - Script de configuración inicial de Vault que se encarga de la inicialización de Vault, el desbloqueo, la creación de la política de Pentaho y el almacenamiento de los secretos iniciales para la implementación.


Operaciones y validación:

validate-deployment.sh - Script de validación del despliegue que realiza comprobaciones de estado en todos los componentes (conectividad de PostgreSQL, arranque de Pentaho Server, accesibilidad de Vault, disponibilidad de servicios), confirmando que el entorno está correctamente configurado y operativo.


Configuración de usuario y almacenamiento de datos

config/ - Configuración de la aplicación

Este directorio almacena archivos de configuración a nivel de usuario y de aplicación:

.kettle/ - Directorio de configuración de PDI (Pentaho Data Integration) / Kettle

  • kettle.properties - Contiene variables de entorno de Kettle/PDI, parámetros de conexión, propiedades del sistema y configuraciones globales utilizadas por las ejecuciones de transformaciones y trabajos que se ejecutan en Pentaho Server.

.pentaho/ - Directorio de configuración de usuario de Pentaho para almacenar preferencias específicas del usuario, metadatos en caché e información de estado de la aplicación.


backups/ - Almacenamiento de copias de seguridad de la base de datos

*.sql.gz - Repositorio de archivos comprimidos de copias de seguridad de la base de datos PostgreSQL creados por el backup-postgres.sh script. La compresión gzip reduce los requisitos de almacenamiento mientras mantiene instantáneas completas de la base de datos para recuperación ante desastres, clonación de entornos o escenarios de reversión. Es probable que los archivos de copia de seguridad lleven marcas de tiempo para el control de versiones.


logs/ - Registro de la aplicación

Directorio centralizado de registro para capturar los registros de tiempo de ejecución de todos los servicios. Esto probablemente incluye:

  • Registros de la aplicación Pentaho Server (catalina.out, pentaho.log)

  • Registros de la base de datos PostgreSQL

  • Registros del servicio Vault

  • Registros de los contenedores Docker

  • Registros de ejecución de ETL

Esto admite la configuración de rotación de registros y las capacidades de monitorización que has ido incorporando a tu despliegue, haciendo que la resolución de problemas y la auditoría sean más fáciles durante los talleres.


Archivos clave

Archivo
Propósito

docker-compose.yml

Define todos los servicios (pentaho-server, postgres), redes y volúmenes

docker/Dockerfile

Compilación multietapa usando debian:trixie-slim con OpenJDK 21

docker-entrypoint.sh

Procesa los directorios softwareOverride al iniciar el contenedor

.env

Configuración específica del entorno (puertos, contraseñas, memoria)

deploy.sh

Despliegue automatizado con comprobaciones de validación previas

db_init_postgres/*.sql

Scripts de inicialización de la base de datos PostgreSQL

vault-init.sh

Inicializa Vault y almacena los secretos

rotate-secrets.sh

Rota las contraseñas de la base de datos de forma segura

Tareas previas al despliegue

La sección Tareas previas al despliegue describe los pasos esenciales de preparación necesarios antes de desplegar Pentaho Server 11 en contenedores Docker.

Primero, debes configurar las variables de entorno editando el .env.template archivo con la configuración específica de tu despliegue. Esto incluye definir la versión de Pentaho y los detalles de la imagen, las credenciales de PostgreSQL y la configuración del puerto (por defecto 5432), los puertos HTTP y HTTPS de Pentaho (8090 y 8443), la asignación de memoria JVM (mínimo 4 GB, máximo 8 GB), la URL del servidor de licencias y la configuración del puerto de Vault. Una vez configurado, esta plantilla se guarda como el .env archivo activo.

La optimización del rendimiento de PostgreSQL se gestiona a través del postgres-config/custom.conf archivo, donde puedes personalizar los límites de conexión (por defecto 200 conexiones máximas), los parámetros de asignación de memoria, incluidos los buffers compartidos y los tamaños de caché, y otras optimizaciones de rendimiento específicamente ajustadas para entornos contenerizados.

Finalmente, el softwareOverride/ directorio ofrece un mecanismo opcional para personalizar las configuraciones de Pentaho sin modificar los archivos de instalación principales. El controlador JDBC de PostgreSQL viene incluido de forma predeterminada, pero puedes actualizarlo opcionalmente descargándolo desde Maven Central o copiándolo desde la colección de controladores de base de datos del taller. Esta preparación garantiza que todos los archivos, configuraciones y credenciales necesarios estén correctamente preparados antes de ejecutar el script de despliegue automatizado.


Configurar .env

  1. Editar el archivo .env.template

  1. Introduce los siguientes detalles:

Variable
Predeterminado
Descripción

PENTAHO_VERSION

11.0.0.0-237

Versión de Pentaho Server

PENTAHO_IMAGE_NAME

pentaho/pentaho-server

Nombre de la imagen Docker

PENTAHO_IMAGE_TAG

11.0.0.0-237

Etiqueta de la imagen Docker

POSTGRES_PASSWORD

password

Contraseña raíz de PostgreSQL

POSTGRES_PORT

5432

Puerto expuesto de PostgreSQL

PENTAHO_HTTP_PORT

8090

Puerto HTTP de Pentaho

PENTAHO_HTTPS_PORT

8443

Puerto HTTPS de Pentaho

PENTAHO_MIN_MEMORY

4096m

Tamaño mínimo del heap de la JVM

PENTAHO_MAX_MEMORY

8192m

Tamaño máximo del heap de la JVM

LICENSE_URL

(vacío)

URL del servidor de licencias EE

VAULT_PORT

8200

Puerto de la API de Vault

  1. Guardar:

  1. Crear .env


Personalizar postgres-config/custom.conf

  1. Editar el archivo .env.template

  1. Introduce los siguientes detalles:

  1. Guardar:


softwareOverride

La softwareOverride/ directorio proporciona un poderoso mecanismo para personalizar Pentaho Server sin modificar la instalación principal. Los archivos se copian en la instalación de Pentaho durante el inicio del contenedor y se procesan en orden alfabético por nombre de directorio.

El controlador JDBC de PostgreSQL está incluido en la distribución de Pentaho. Si necesitas actualizarlo:

  1. Descárgalo desde Maven Central

  2. Colócalo en softwareOverride/1_drivers/tomcat/lib/

O

Copia desde Workshop--Installation/'Database Drivers'/

Despliegue

Esta sección recorre el proceso de despliegue usando el script automatizado o comandos manuales.

Selecciona la opción de despliegue:

Despliegue automatizado

El script deploy.sh automatiza todo el proceso de despliegue con validación previa:

./deploy.sh

El script realiza las siguientes acciones:

  • Valida la instalación de Docker y Docker Compose

  • Verifica que el paquete de Pentaho exista en: docker/stagedArtifacts/

  • Crea .env a partir de la plantilla si falta

  • Comprueba el espacio en disco (mínimo 10 GB)

  • Verifica que los puertos requeridos estén disponibles

  • Construye la imagen Docker de Pentaho Server

  • Inicia PostgreSQL y espera la comprobación de estado

  • Inicia Pentaho Server y supervisa el arranque

  • Muestra las URL de acceso y las credenciales

1. Establece permisos de ejecución en los scripts de despliegue.

  1. Despliega los contenedores.

Comprobaciones previas ✓

El script valida el entorno antes de comenzar:

  • Docker está instalado

  • Docker Compose está instalado

  • El demonio de Docker está en ejecución

  • Paquete de Pentaho encontrado

  • .env el archivo existe

  • Espacio en disco suficiente (414 GB disponibles)

  • El puerto 8090 (HTTP de Pentaho) está disponible

  • El puerto 5432 (PostgreSQL) está disponible

Fase de compilación

Se construye una imagen Docker personalizada con 24 pasos de compilación que tarda aproximadamente 5-10 minutos:

  • Imagen base: debian:trixie-slim

  • Instala paquetes del sistema mediante apt-get update y apt-get upgrade

  • Instala OpenJDK 21 JRE sin interfaz gráfica con curl y rm

  • Crea un pentaho usuario y grupo (GID 5000)

  • (Opcional) Instala complementos de Pentaho (PAZ, PIR, PDD)

  • Copia la instalación de Pentaho a /opt/pentaho/

  • Exporta capas y manifiestos

  • Imagen final: pentaho/pentaho-server:11.0.0.0-237

Comprobaciones previas y compilación

Iniciando la base de datos PostgreSQL

Descarga PostgreSQL 15 la imagen y las capas relacionadas:

  • Crea la red: pentaho-server-postgresql_pentaho-net

  • Crea el volumen: pentaho-server-postgresql_pentaho_postgres_data

  • Crea el contenedor: pentaho-postgres

  • Espera a que PostgreSQL esté listo: ✓ PostgreSQL está listo

Iniciando Pentaho Server

Esta fase tarda 2-3 minutos para la inicialización por primera vez:

Descarga la imagen de HashiCorp Vault 1.15 para la gestión de secretos

Crea los volúmenes:

  • pentaho-server-postgresql_pentaho_solutions

  • pentaho-server-postgresql_pentaho_data

  • pentaho-server-postgresql_vault_data

Desplegar contenedores

Estado final 🎉

El despliegue se ha realizado correctamente y te proporciona:

Acceso a Pentaho Server:

  • URL: http://localhost:8090/pentaho

  • Inicio de sesión: admin / password

Base de datos PostgreSQL:

  • Host: localhost:5432

  • Inicio de sesión: postgres / password

Acción
Comando

Ver registros

docker compose logs -f

Detener servicios

docker compose stop

Iniciar servicios

docker compose start

Reiniciar servicios

docker compose restart

Apagar

docker compose down

Scripts auxiliares proporcionados:

  • ./scripts/backup-postgres.sh -- Copia de seguridad de la base de datos

  • ./scripts/restore-postgres.sh <backup-file> -- Restaurar la base de datos

  • ./scripts/validate-deployment.sh -- Validar despliegue

Auxiliar

Compilación manual

  1. Compila la imagen de Pentaho Server.

Este proceso tarda aproximadamente entre 5 y 10 minutos, ya que extrae el paquete de Pentaho y configura la imagen.

  1. Iniciar la base de datos PostgreSQL

Busca el mensaje que indique que PostgreSQL está listo para aceptar conexiones.

  1. Inicia Pentaho Server.

Pentaho Server suele tardar 2-3 minutos en la inicialización por primera vez. Busca el mensaje:

  1. Verifica el estado del contenedor.

  1. Ejecuta el script de validación.

Validar despliegue
  1. Abre un navegador web y navega a:

  1. Inicia sesión con las credenciales predeterminadas:

Nombre de usuario
Administrador

Contraseña

password

  1. Ingrese la URL del servidor de licencias

Ingrese los detalles de la licencia

Copia de seguridad y recuperación

Implemente copias de seguridad periódicas para proteger sus datos y configuración de Pentaho.

  1. Cree una copia de seguridad comprimida de las bases de datos de Pentaho.

Script de copia de seguridad

Última actualización

¿Te fue útil?