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

Docker

Déploiement Docker - dépôt Pentaho 11 + PostgreSQL 15 ..

Conteneur Docker

Le déploiement du conteneur Docker vous permet de packager et d’exécuter les produits Pentaho dans des conteneurs portables, prêts pour la production. La conteneurisation garantit un comportement cohérent dans les environnements de développement, de test et de production, tout en simplifiant les opérations de déploiement et de mise à l’échelle.

Vous pouvez créer des conteneurs Docker pour Pentaho Server, qui inclut la plateforme complète d’analytique métier et d’intégration des données avec la Pentaho User Console, les services de planification et la gestion du référentiel. Le serveur prend en charge des backends de base de données d’entreprise, notamment PostgreSQL, MySQL, Oracle et SQL Server.

Pour le traitement ETL distribué, vous pouvez déployer des conteneurs serveur Carte qui exécutent des transformations et des tâches à distance. Les outils en ligne de commande Kitchen et Pan sont également disponibles sous forme de conteneurs, ce qui permet l’intégration avec des pipelines CI/CD et des flux de travail batch automatisés.

Les déploiements en conteneurs sont particulièrement efficaces pour les environnements cloud, où vous pouvez rapidement faire évoluer les ressources afin de répondre aux besoins de traitement des données. En exécutant les charges de travail Pentaho dans des conteneurs, les organisations peuvent optimiser les coûts d’infrastructure tout en conservant la flexibilité de passer entre des plateformes sur site et cloud.

Architecture du conteneur Docker montrant les conteneurs Pentaho Server et PostgreSQL

Ce conteneur exécute la plateforme complète Pentaho Business Analytics et Data Integration sur Apache Tomcat 10. Il inclut la Pentaho User Console (PUC), les services de planification et toutes les fonctionnalités d’analytique.

Ce conteneur fournit le backend de base de données relationnelle à l’aide de PostgreSQL 17. Il héberge trois bases de données critiques requises par Pentaho : Jackrabbit (référentiel de contenu), Quartz (ordonnanceur) et Hibernate (sécurité et audit). Les données sont conservées via un volume Docker afin de survivre aux redémarrages du conteneur.

Architecture de la base de données PostgreSQL

Pentaho Server requiert trois bases de données distinctes, chacune remplissant un rôle spécifique :

Base de données
Propriétaire
Objectif et contenu

jackrabbit

jcr_user

Java Content Repository (JCR) - Stocke tout le contenu Pentaho, y compris les rapports, tableaux de bord, sources de données, schémas d’analyse et fichiers utilisateurs. Il s’agit du stockage principal du contenu pour le référentiel Pentaho.

quartz

pentaho_user

Quartz Scheduler - Gère toutes les tâches planifiées, les déclencheurs et les calendriers. Contient les tables pour les définitions de tâches (QRTZ6_JOB_DETAILS), les déclencheurs (QRTZ6_TRIGGERS), l’historique d’exécution et les verrous de coordination du cluster.

hibernate

hibuser

Hibernate Repository - Héberge la configuration de sécurité, la journalisation d’audit, les données de session utilisateur et contient deux schémas supplémentaires : pentaho_dilogs (journalisation de l’exécution ETL) et pentaho_operations_mart (datamart analytique).

La base de données hibernate contient des schémas spécialisés pour la supervision opérationnelle :

pentaho_dilogs: Capture des informations détaillées sur l’exécution ETL, notamment les journaux des tâches, les journaux de transformation, les métriques de performance des étapes et les enregistrements d’erreurs. Indispensable pour déboguer les workflows d’intégration de données et surveiller l’état du pipeline.

pentaho_operations_mart: Un datamart dimensionnel pour l’analytique sur l’utilisation de Pentaho. Contient des tables de dimension (DIM_DATE, DIM_TIME, DIM_EXECUTOR) et des tables de faits (FACT_EXECUTION, FACT_STEP_EXECUTION) pour analyser l’utilisation de la plateforme, les tendances de performance et l’activité des utilisateurs.

Pour les déploiements en production, mettez en place des sauvegardes régulières du volume Docker repository-data. La base de données jackrabbit est la plus critique car elle contient tout le contenu utilisateur. Envisagez d’utiliser pg_dump pour des sauvegardes logiques ou des instantanés de volume pour des options de restauration complètes.

Points clés :

  • Le conteneur Pentaho se connecte à PostgreSQL en utilisant le nom de service 'repository' comme nom d’hôte

  • PostgreSQL écoute en interne sur le port 5432 (non exposé à l’hôte par défaut)

  • Pentaho Server expose le port 8080, mappé sur le système hôte

  • Tout le trafic entre conteneurs reste à l’intérieur du réseau Docker pour des raisons de sécurité

Flux de données montrant les requêtes HTTP et les connexions JDBC

Tomcat gère les pools de connexions définis dans context.xml. Chaque pool a un objectif spécifique :

Nom du pool
Cible de connexion
Utilisé pour

jdbc/Hibernate

repository:5432/hibernate

Sécurité, utilisateurs, rôles

jdbc/Quartz

repository:5432/quartz

Planification des tâches

jdbc/jackrabbit

repository:5432/jackrabbit

Référentiel de contenu

jdbc/Audit

repository:5432/hibernate

Journalisation d’audit

jdbc/live_logging_info

repository:5432/hibernate

Journaux d’exécution ETL

jdbc/PDI_Operations_Mart

repository:5432/hibernate

Analytique des opérations

Lorsqu’un utilisateur accède à Pentaho Server :

1. Le navigateur de l’utilisateur envoie une requête HTTP à localhost:8080

2. Docker transfère la requête vers le port 8080 du conteneur Pentaho

3. Tomcat reçoit la requête et l’achemine vers l’application web pentaho.war

4. L’application récupère/stocke les données via les pools de connexions JDBC

5. Les connexions JDBC acheminent vers 'repository:5432' (conteneur PostgreSQL)

6. La réponse revient par le même chemin jusqu’au navigateur de l’utilisateur

Mappage des volumes

Le déploiement utilise à la fois des volumes Docker nommés et des montages liés pour la persistance et la configuration :


Suivez les étapes ci-dessous pour déployer Pentaho Server avec le référentiel PostgreSQL 15.

Préparer l’environnement

Vérifiez que Docker est installé et en cours d’exécution :

  • Copier les ressources Pentaho-Server-PostgreSQL

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

  • Vérifier Docker et Docker Compose

  • Vérifier les ports

  1. Créez le répertoire du projet et copiez les ressources.

  1. Copiez le fichier pentaho-server-ee-11.0.0.0-237.zip dans le répertoire /docker/stagedArtefacts.

Si vous avez déployé un serveur Pentaho archivé, copiez depuis :

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

Sinon, téléchargez le paquet depuis le Portail client Pentaho.

  1. Vérifiez le fichier.

  1. Vérifiez la version de Docker.

  1. Vérifiez la version de Docker Compose.

  1. Vérifiez que le démon Docker est en cours d’exécution.

  1. Vérifiez que le port 8080 / 8090 est disponible sur le système hôte.

Si le port 8080 est utilisé par une autre application, vous pouvez modifier la variable PORT dans le fichier .env avec n’importe quel port disponible (par exemple 8090, 8081, 9090).

  1. Pentaho Server nécessite une licence valide. Le .env fichier contient une URL LICENSE_URL pointant vers le serveur de licences Flexera. Assurez-vous que vos droits de licence sont actifs avant le déploiement.

Structure des répertoires

Cette configuration de déploiement offre plusieurs capacités importantes :

  • Déploiement entièrement autonome et portable.

  • Initialisation automatisée de la base de données avec des scripts SQL.

  • Vérifications de santé et ordre de démarrage approprié entre les services.

  • Volumes de données persistants pour la base de données et le contenu Pentaho.

  • HashiCorp Vault pour la gestion des secrets avec authentification AppRole.

  • Conteneurs en lecture seule avec montages tmpfs pour la sécurité.

  • Limites de ressources (CPU/mémoire) pour la stabilité.

  • Rotation des journaux pour éviter l’épuisement de l’espace disque.

  • Système de substitution logicielle pour personnaliser les configurations sans modifier les fichiers principaux.

  • Modèles de configuration prêts pour la production.

  • Pilote JDBC PostgreSQL inclus

  • Procédures simples de sauvegarde et de restauration


Fichiers du répertoire racine

Fichiers de documentation :

README.md - Le document d’entrée principal fournissant la vue d’ensemble du projet, les instructions de démarrage rapide, les prérequis et des informations générales d’utilisation pour l’atelier.

ARCHITECTURE.md - Documentation technique détaillée couvrant l’architecture du système, les relations entre les composants, la conception des conteneurs, le réseau, le flux de données et les décisions architecturales pour le déploiement basé sur Docker.

CONFIGURATION.md - Guide de référence de configuration complet détaillant toutes les variables d’environnement disponibles, les options de configuration, les paramètres de personnalisation et les réglages pour les composants Pentaho Server et PostgreSQL.

TROUBLESHOOTING.md - Guide de résolution des problèmes avec les soucis courants, les messages d’erreur, les procédures de diagnostic et les solutions aux problèmes de déploiement et d’exécution que vous pourriez rencontrer.

Orchestration et déploiement :

docker-compose.yml - Le fichier de définition des services Docker Compose qui déclare tous les conteneurs (Pentaho Server, PostgreSQL, éventuellement Vault/autres services), leurs configurations, le réseau, les volumes et les dépendances.

Makefile - Contient des cibles de commandes pratiques pour les opérations courantes comme la construction, le démarrage, l’arrêt et le nettoyage de l’environnement. Les utilisateurs peuvent exécuter make help pour voir les commandes disponibles.

deploy.sh - Script de déploiement automatisé qui gère probablement l’ensemble du flux de déploiement, y compris la validation de l’environnement, la construction des images, le démarrage des services et la configuration initiale.

Configuration de l’environnement :

.env - Le fichier de configuration actif de l’environnement (créé à partir du modèle) contenant les valeurs réelles pour les mots de passe de base de données, les ports, les noms d’hôte et autres paramètres spécifiques à l’environnement. Ce fichier est généralement ignoré par git.

.env.template - Le fichier modèle avec les valeurs par défaut et des espaces réservés que les utilisateurs copient pour créer leur .env fichier, fournissant une référence pour toutes les variables d’environnement configurables.


Contexte de construction Docker

La docker/ le répertoire contient tous les composants principaux nécessaires pour construire et exécuter le déploiement conteneurisé de Pentaho Server :

Dockerfile - Il s’agit de la principale configuration de construction utilisant une approche de build multi-étapes pour créer l’image du conteneur Pentaho Server. Les builds multi-étapes aident à optimiser la taille finale de l’image en séparant l’environnement de construction de l’environnement d’exécution.

entrypoint/ le répertoire contient le docker-entrypoint.sh script, qui est le script d’initialisation exécuté lorsque le conteneur démarre. Il gère généralement des tâches comme la configuration de l’environnement, la gestion de la configuration, les vérifications de santé et le démarrage des services Pentaho Server.

stagedArtifacts/ le répertoire sert de zone de préparation pour le paquet d’installation de Pentaho Server. Il contient actuellement pentaho-server-ee-11.0.0.0-237.zip, qui est la version Enterprise Edition 11.0.0.0 build 237 qui est extraite et installée pendant le processus de construction de l’image Docker.


Initialisation de la base de données référentiel PostgreSQL

La db_init_postgres/ le répertoire contient les scripts d’initialisation de la base de données PostgreSQL qui mettent en place tous les schémas requis pour Pentaho Server 11. Ces scripts sont numérotés pour s’exécuter dans un ordre spécifique :

1_create_jcr_postgresql.sql - Crée le Référentiel de contenu Jackrabbit (JCR) schéma, qui stocke le contenu du référentiel Pentaho, y compris les fichiers de solution, les plannings, les rapports, les tableaux de bord et les métadonnées. Il s’agit du système principal de gestion du contenu pour Pentaho.

2_create_quartz_postgresql.sql - Configure le Ordonnanceur Quartz schéma, qui gère toutes les tâches et travaux planifiés dans Pentaho Server, y compris la génération de rapports, les exécutions ETL et d’autres processus automatisés.

3_create_repository_postgresql.sql - Crée le Référentiel Hibernate schéma, qui stocke l’authentification des utilisateurs, les données d’autorisation, les rôles, les permissions et autres informations liées à la sécurité gérées par le sous-système de sécurité de Pentaho.

4_pentaho_logging_postgresql.sql - Établit le Journalisation d’audit et d’intégration de données (DI) schéma pour capturer les journaux d’exécution, les métriques de transformation/tâches et les informations de piste d’audit provenant des processus PDI exécutés sur le serveur.

5_pentaho_mart_postgresql.sql - Crée le Operations Mart schéma, qui stocke les données d’analytique opérationnelle sur l’utilisation de Pentaho Server, les métriques de performance et les informations de supervision système utilisées par le tableau de bord Pentaho Operations Mart.


Configuration PostgreSQL et Vault

postgres-config/ - Configuration PostgreSQL

custom.conf - Paramètres personnalisés de réglage des performances PostgreSQL optimisés pour les charges de travail de Pentaho Server. Cela inclut probablement les paramètres de tampons partagés, de mémoire de travail, de limites de connexion, de configuration des points de contrôle et d’autres paramètres liés aux performances adaptés aux besoins de base de données de Pentaho.

pg_hba.conf - Fichier de configuration d’authentification basée sur l’hôte PostgreSQL qui contrôle les méthodes d’authentification des connexions client, les règles d’accès par adresse IP et les politiques de sécurité pour les connexions à la base de données depuis le conteneur Pentaho Server.


vault/ - Intégration HashiCorp Vault

Ce répertoire permet l’intégration de Vault pour la gestion des secrets :

config/vault.hcl - Le fichier de configuration du serveur HashiCorp Vault définissant le backend de stockage, les paramètres d’écoute, les points de terminaison API, le comportement de scellement/déverrouillage et les paramètres opérationnels généraux du serveur Vault.

policies/pentaho-policy.hcl - Politique de contrôle d’accès Vault spécialement conçue pour Pentaho Server, définissant quels chemins de secrets l’application Pentaho peut lire, écrire ou gérer. Cela applique le principe du moindre privilège pour les identifiants sensibles.


secrets/ - Gestion des secrets Docker

postgres_password.txt - Un fichier de secrets Docker contenant le mot de passe PostgreSQL. Lors de l’utilisation des secrets Docker (ou de l’intégration Vault), ce fichier fournit les identifiants de base de données de manière sécurisée plutôt que de les transmettre sous forme de variables d’environnement en clair. Le fichier doit avoir des permissions restreintes et est généralement référencé par Docker Compose à l’aide de secrets: configuration.

Clé
Description

postgres_password

Mot de passe du superutilisateur PostgreSQL

pentaho_user

Nom d’utilisateur de la base de données Pentaho

pentaho_password

Mot de passe de la base de données Pentaho

jdbc_url

URL de connexion JDBC


Substitutions de configuration Pentaho

La softwareOverride/ le répertoire contient des fichiers de configuration et des composants personnalisés qui remplacent l’installation par défaut de Pentaho Server. La structure numérotée assure une organisation logique et éventuellement une application ordonnée pendant le processus de construction Docker :


1_drivers/ - Pilotes de base de données JDBC

tomcat/lib/ - Contient les fichiers JAR des pilotes JDBC (en particulier le pilote JDBC PostgreSQL) qui sont copiés dans le répertoire de bibliothèque de Tomcat, permettant à Pentaho Server de se connecter aux bases de données PostgreSQL.


2_repository/ - Configuration du référentiel de base de données

Cette section configure la connexion de Pentaho à tous les référentiels reposant sur PostgreSQL :

pentaho-solutions/system/hibernate/ - Fichiers de configuration du référentiel Hibernate (repository.xml, hibernate-settings.xml) pour les données de sécurité des utilisateurs/rôles

pentaho-solutions/system/jackrabbit/ - Configuration du référentiel Jackrabbit JCR (repository.xml) pour le stockage du contenu

pentaho-solutions/system/scheduler-plugin/quartz/ - Configuration de la base de données de l’ordonnanceur Quartz (quartz.properties) pour la planification des tâches

tomcat/webapps/pentaho/META-INF/ - Contient context.xml avec les définitions de sources de données JNDI pour toutes les bases de données Pentaho (Quartz, Jackrabbit, Hibernate, Audit, Operations Mart)


3_security/ - Paramètres d’authentification et de sécurité

pentaho-solutions/system/ - Fichiers de configuration de sécurité incluant applicationContext-security.xml, security.properties, et éventuellement des configurations LDAP/SSO pour l’authentification et l’autorisation.


4_others/ - Paramètres supplémentaires de Tomcat et de l’application

pentaho-solutions/system/ - Autres configurations au niveau système comme pentaho.xml, pentaho-spring-beans.xml, les paramètres log4j et les configurations du comportement de l’application

tomcat/ - Personnalisations du serveur Tomcat incluant server.xml, web.xml, setenv.sh pour les paramètres JVM, et d’autres réglages spécifiques à Tomcat

Scripts utilitaires

La scripts/ le répertoire contient des utilitaires d’exploitation et de maintenance pour gérer le déploiement de Pentaho Server, organisés par domaine fonctionnel :


Gestion de base de données :

backup-postgres.sh - Utilitaire automatisé de sauvegarde PostgreSQL qui crée des exports de toutes les bases de données Pentaho (JCR, Quartz, Hibernate, Audit, Operations Mart). Comprend probablement la génération d'horodatages, la compression et la logique de rétention des sauvegardes.

restore-postgres.sh - Utilitaire de restauration de base de données permettant de récupérer les bases Pentaho à partir de fichiers de sauvegarde, utile pour la reprise après sinistre, le clonage d'environnements ou la migration de données entre instances.


Gestion du coffre-fort/des secrets :

backup-vault.sh - Script de sauvegarde des identifiants HashiCorp Vault et des clés de déverrouillage, garantissant la capacité de récupération de l'instance Vault contenant les identifiants Pentaho sensibles.

restore-vault.sh - Utilitaire de restauration du coffre-fort permettant de récupérer les données Vault et de réinitialiser le système de gestion des secrets à partir d'une sauvegarde.

rotate-secrets.sh - Script automatisé de rotation des mots de passe qui met à jour les mots de passe de base de données et d'autres identifiants sensibles dans Vault, puis propage les changements à la configuration de Pentaho Server — en soutenant les bonnes pratiques de sécurité.

fetch-secrets.sh - Utilitaire d'assistance permettant de récupérer les secrets depuis Vault de manière programmatique, utile pour les scripts qui doivent accéder aux identifiants sans les coder en dur.

vault-init.sh - Script initial de configuration de Vault qui gère l'initialisation de Vault, son déverrouillage, la création de la politique Pentaho et le stockage des secrets initiaux pour le déploiement.


Opérations et validation :

validate-deployment.sh - Script de validation du déploiement qui effectue des vérifications de bon fonctionnement sur tous les composants (connectivité PostgreSQL, démarrage de Pentaho Server, accessibilité de Vault, disponibilité des services), confirmant que l'environnement est correctement configuré et opérationnel.


Configuration utilisateur et stockage des données

config/ - Configuration de l'application

Ce répertoire stocke les fichiers de configuration au niveau utilisateur et application :

.kettle/ - Répertoire de configuration de PDI (Pentaho Data Integration) / Kettle

  • kettle.properties - Contient les variables d'environnement Kettle/PDI, les paramètres de connexion, les propriétés système et les paramètres globaux utilisés par les transformations et les exécutions de jobs s'exécutant sur Pentaho Server.

.pentaho/ - Répertoire de paramètres utilisateur Pentaho pour stocker les préférences propres à l'utilisateur, les métadonnées en cache et les informations d'état de l'application.


backups/ - Stockage des sauvegardes de base de données

*.sql.gz - Répertoire des fichiers de sauvegarde PostgreSQL compressés créés par le backup-postgres.sh script. La compression gzip réduit les besoins de stockage tout en conservant des instantanés complets de la base de données pour la reprise après sinistre, le clonage d'environnements ou les scénarios de retour arrière. Les fichiers de sauvegarde sont probablement horodatés pour le suivi des versions.


logs/ - Journalisation de l'application

Répertoire de journalisation centralisé pour capturer les journaux d'exécution de tous les services. Cela inclut probablement :

  • Journaux de l'application Pentaho Server (catalina.out, pentaho.log)

  • Journaux de la base de données PostgreSQL

  • Journaux du service Vault

  • Journaux des conteneurs Docker

  • Journaux d'exécution ETL

Cela prend en charge la configuration de rotation des journaux et les capacités de supervision que vous avez intégrées à votre déploiement, facilitant le dépannage et l'audit pendant les ateliers.


Fichiers clés

Fichier
Rôle

docker-compose.yml

Définit tous les services (pentaho-server, postgres), les réseaux et les volumes

docker/Dockerfile

Build multi-étapes utilisant debian:trixie-slim avec OpenJDK 21

docker-entrypoint.sh

Traite les répertoires softwareOverride au démarrage du conteneur

.env

Configuration spécifique à l'environnement (ports, mots de passe, mémoire)

deploy.sh

Déploiement automatisé avec vérifications de validation préalables

db_init_postgres/*.sql

Scripts d'initialisation de la base de données PostgreSQL

vault-init.sh

Initialise Vault et stocke les secrets

rotate-secrets.sh

Fait tourner les mots de passe de base de données de manière sécurisée

Tâches de pré-déploiement

La section des tâches de pré-déploiement décrit les étapes de préparation essentielles nécessaires avant de déployer Pentaho Server 11 dans des conteneurs Docker.

Tout d'abord, vous devez configurer les variables d'environnement en modifiant le .env.template fichier avec les paramètres spécifiques à votre déploiement. Cela inclut la définition de la version de Pentaho et des détails de l'image, des identifiants PostgreSQL et de la configuration du port (par défaut 5432), des ports HTTP et HTTPS de Pentaho (8090 et 8443), de l'allocation mémoire JVM (minimum 4 Go, maximum 8 Go), de l'URL du serveur de licence et des paramètres du port Vault. Une fois configuré, ce modèle est enregistré comme le .env fichier.

Le réglage des performances PostgreSQL est géré via le postgres-config/custom.conf fichier, où vous pouvez personnaliser les limites de connexion (200 connexions max par défaut), les paramètres d'allocation mémoire, y compris shared buffers et les tailles de cache, ainsi que d'autres optimisations de performances spécialement adaptées aux environnements conteneurisés.

Enfin, le softwareOverride/ répertoire fournit un mécanisme optionnel pour personnaliser les configurations Pentaho sans modifier les fichiers d'installation principaux. Le pilote JDBC PostgreSQL est inclus par défaut, mais vous pouvez éventuellement le mettre à niveau en le téléchargeant depuis Maven Central ou en le copiant depuis la collection de pilotes de base de données de l'atelier. Cette préparation garantit que tous les fichiers, configurations et identifiants requis sont correctement préparés avant d'exécuter le script de déploiement automatisé.


Configurer .env

  1. Modifier le fichier .env.template

  1. Saisissez les détails suivants :

Variable
Par défaut
Description

PENTAHO_VERSION

11.0.0.0-237

Version du serveur Pentaho

PENTAHO_IMAGE_NAME

pentaho/pentaho-server

Nom de l'image Docker

PENTAHO_IMAGE_TAG

11.0.0.0-237

Tag de l'image Docker

POSTGRES_PASSWORD

password

Mot de passe root PostgreSQL

POSTGRES_PORT

5432

Port exposé PostgreSQL

PENTAHO_HTTP_PORT

8090

Port HTTP Pentaho

PENTAHO_HTTPS_PORT

8443

Port HTTPS Pentaho

PENTAHO_MIN_MEMORY

4096m

Taille minimale du heap JVM

PENTAHO_MAX_MEMORY

8192m

Taille maximale du heap JVM

LICENSE_URL

(vide)

URL du serveur de licence EE

VAULT_PORT

8200

Port de l'API Vault

  1. Enregistrer :

  1. Créer .env


Personnaliser postgres-config/custom.conf

  1. Modifier le fichier .env.template

  1. Saisissez les détails suivants :

  1. Enregistrer :


softwareOverride

La softwareOverride/ Le répertoire fournit un mécanisme puissant pour personnaliser Pentaho Server sans modifier l'installation principale. Les fichiers sont copiés dans l'installation Pentaho au démarrage du conteneur, puis traités par ordre alphabétique selon le nom du répertoire.

Le pilote JDBC PostgreSQL est inclus dans la distribution Pentaho. Si vous devez le mettre à niveau :

  1. Téléchargez depuis Maven Central

  2. Placez-le dans softwareOverride/1_drivers/tomcat/lib/

Ou

Copiez depuis Workshop--Installation/'Database Drivers'/

Déploiement

Cette section vous guide à travers le processus de déploiement à l'aide soit du script automatisé, soit des commandes manuelles.

Sélectionnez l'option de déploiement :

Déploiement automatisé

Le script deploy.sh automatise l'ensemble du processus de déploiement avec validation préalable :

./deploy.sh

Le script effectue les actions suivantes :

  • Valide l'installation de Docker et Docker Compose

  • Vérifie que le package Pentaho existe dans : docker/stagedArtifacts/

  • Crée .env à partir du modèle s'il est manquant

  • Vérifie l'espace disque (10 Go minimum)

  • Vérifie que les ports requis sont disponibles

  • Construit l'image Docker du Pentaho Server

  • Démarre PostgreSQL et attend la vérification de bon fonctionnement

  • Démarre Pentaho Server et surveille le démarrage

  • Affiche les URL d'accès et les identifiants

1. Définissez les permissions d'exécution sur les scripts de déploiement.

  1. Déployez les conteneurs.

Vérifications préalables ✓

Le script valide l'environnement avant de démarrer :

  • Docker est installé

  • Docker Compose est installé

  • Le daemon Docker est en cours d'exécution

  • Le package Pentaho a été trouvé

  • .env le fichier existe

  • Espace disque suffisant (414 Go disponibles)

  • Le port 8090 (HTTP Pentaho) est disponible

  • Le port 5432 (PostgreSQL) est disponible

Phase de compilation

Une image Docker personnalisée est construite avec 24 étapes de compilation prenant environ 5 à 10 minutes:

  • Image de base : debian:trixie-slim

  • Installe les paquets système via apt-get update et apt-get upgrade

  • Installe JRE headless OpenJDK 21 avec curl et rm

  • Crée un pentaho utilisateur et un groupe (GID 5000)

  • (Facultatif) Installe les plugins Pentaho (PAZ, PIR, PDD)

  • Copie l'installation Pentaho vers /opt/pentaho/

  • Exporte les couches et les manifestes

  • Image finale: pentaho/pentaho-server:11.0.0.0-237

Vérifications préalables et compilation

Démarrage de la base de données PostgreSQL

Récupère PostgreSQL 15 l'image et les couches associées :

  • Crée le réseau : pentaho-server-postgresql_pentaho-net

  • Crée le volume : pentaho-server-postgresql_pentaho_postgres_data

  • Crée le conteneur : pentaho-postgres

  • Attend que PostgreSQL soit prêt : ✓ PostgreSQL est prêt

Démarrage de Pentaho Server

Cette phase prend 2 à 3 minutes pour l'initialisation initiale:

Récupère l'image HashiCorp Vault 1.15 pour la gestion des secrets

Crée les volumes :

  • pentaho-server-postgresql_pentaho_solutions

  • pentaho-server-postgresql_pentaho_data

  • pentaho-server-postgresql_vault_data

Déployer les conteneurs

État final 🎉

Le déploiement est réussi et vous fournit :

Accès à Pentaho Server :

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

  • Identifiant : admin / password

Base de données PostgreSQL :

  • Hôte : localhost:5432

  • Identifiant : postgres / password

Action
Commande

Afficher les journaux

docker compose logs -f

Arrêter les services

docker compose stop

Démarrer les services

docker compose start

Redémarrer les services

docker compose restart

Arrêt

docker compose down

Scripts d'assistance fournis :

  • ./scripts/backup-postgres.sh -- Sauvegarder la base de données

  • ./scripts/restore-postgres.sh <backup-file> -- Restaurer la base de données

  • ./scripts/validate-deployment.sh -- Valider le déploiement

Assistant

Compilation manuelle

  1. Construisez l'image du Pentaho Server.

Ce processus prend environ 5 à 10 minutes, car il extrait le package Pentaho et configure l'image.

  1. Démarrer la base de données PostgreSQL

Surveillez le message indiquant que PostgreSQL est prêt à accepter les connexions.

  1. Démarrez Pentaho Server.

Le Pentaho Server prend généralement 2 à 3 minutes pour l'initialisation initiale. Surveillez le message :

  1. Vérifiez l'état du conteneur.

  1. Exécutez le script de validation.

Valider le déploiement
  1. Ouvrez un navigateur web et accédez à :

  1. Connectez-vous avec les identifiants par défaut :

Nom d'utilisateur
Administration

Mot de passe

password

  1. Saisissez l’URL du serveur de licence

Saisissez les détails de licence

Sauvegarde et restauration

Mettez en place des sauvegardes régulières pour protéger vos données et votre configuration Pentaho.

  1. Créez une sauvegarde compressée des bases de données Pentaho.

Script de sauvegarde

Mis à jour

Ce contenu vous a-t-il été utile ?