FME Flow:2025.1
Travailler avecFME Flow Variables d'environnement du conteneur
Pour effectuer une configuration supplémentaire d'unFME Flow déploiement avec Docker Compose, définissez une section de variable d'environnement sous le service de conteneur concerné. Chaque service dispose d’un ensemble différent de variables d’environnement qui peuvent être définies.
FME FlowConteneur de services Web
|
Variable d'environnement |
Valeur par défaut |
Description |
|---|---|---|
| NOM D'HÔTE EXTERNE | hôte local | Le nom d'hôte que les utilisateurs utiliseront pour se connecter à cetFME Flow. Il s’agit généralement du nom d’hôte ou de l’adresse IP de la machine physique sur laquelle le déploiement Docker s’exécute, ou du point de terminaison externe de l’équilibreur de charge. Cette variable est utilisée pourSuivi des sujets. Si vous n'avez pas besoin d'utiliser la surveillance des sujets, laissez-la telle quellehôte local. |
| PORT EXTERNE |
80 (Windows) 8080 (Linux) |
Le port utilisé pour se connecter auFME FlowInterface utilisateur Web. Il doit s’agir du port exposé sur l’hôte ou l’équilibreur de charge que les utilisateurs utiliseront pour se connecter. |
| FMEFLOWHOSTNAME | fmeflowcore | Le nom du service ou le nom d'hôte duFME Flow Conteneur de base. |
| NOM D'HÔTE DU SERVEUR WEB | fmeflowweb | Le nom du service ou le nom d'hôte duFME Flow Conteneur de services Web. |
| PROTOCOLE WEB | https | Le protocoleFME Flow utilisations. Peut être soithttpou https. |
| WEBSOCKETHNOM DU POST | fmeflowwebsocket | Le nom du service ou le nom d’hôte du conteneur du serveur WebSocket. |
| LOGPREFIX | Le nom d'hôte du conteneur | Le préfixe à utiliser sur les fichiers journaux créés par ce conteneur. |
| PGSQLHOSTNAME | fmeflowdb | Le nom du service ou le nom d'hôte duFME Flow Base de données PostgreSQL. Si vous souhaitez utiliser un autre type de base de données, consultezModification de la connexion à la base de données, ci-dessous. |
| PGSQLPORT | 5432 | Le port pour leFME Flow Base de données PostgreSQL. Si vous souhaitez utiliser un autre type de base de données, consultezModification de la connexion à la base de données, ci-dessous. |
| POSTGRESQLSSL | FAUX | Régler survraipour forcer la connexion PostgreSQL à utiliser SSL. Cela ajoute l'optionsslrequire=true aux chaînes de connexion JDBC. |
| PGSQLUSERNAME | flux fme | L'utilisateur doit créer dans le cadre de laFME Flow schéma quiFME Flow utilisera pour se connecter à la base de données. |
Conteneur de moteur FME
|
Variable d'environnement |
Valeur par défaut |
Description |
|---|---|---|
| PROPRIÉTÉS DU MOTEUR |
|
Une liste délimitée par des virgules de propriétés à définir sur ce moteur. Les propriétés du moteur sont utiles lors de l'attribution de moteurs FME àfiles d'attente. |
| NOM D'HÔTE EXTERNE | hôte local | Le nom d'hôte que les utilisateurs utiliseront pour se connecter à cetFME Flow. Il s’agit généralement du nom d’hôte ou de l’adresse IP de la machine physique sur laquelle le déploiement Docker s’exécute. Ceci est utilisé pour l'URL des résultats de téléchargement de données qui est renvoyée après l'exécution d'une tâche dans leService de téléchargement de données. Si vous n'utilisez pas le service de téléchargement de données, laissez tel quelhôte local. |
| PORT EXTERNE | 443 | Port utilisé pour se connecter àFME Flow. |
| FMEFLOWHOSTNAME | fmeflowcore | Le nom du service ou le nom d'hôte duFME Flow Conteneur de base. |
| PGSQLHOSTNAME | fmeflowdb | Le nom du service ou le nom d'hôte duFME Flow Base de données PostgreSQL. Si vous souhaitez utiliser un autre type de base de données, consultezModification de la connexion à la base de données, ci-dessous. |
| PGSQLPORT | 5432 | Le port pour leFME Flow Base de données PostgreSQL. Si vous souhaitez utiliser un autre type de base de données, consultezModification de la connexion à la base de données, ci-dessous. |
| POSTGRESQLSSL | FAUX | Régler survraipour forcer la connexion PostgreSQL à utiliser SSL. Cela ajoute l'optionsslrequire=true aux chaînes de connexion JDBC. |
| PGSQLUSERNAME | flux fme | L'utilisateur doit créer dans le cadre de laFME Flow schéma quiFME Flow utilisera pour se connecter à la base de données. |
| PROTOCOLE WEB | https | Le protocoleFME Flow utilisations. Peut être soithttpou https. |
| LOGPREFIX | Le nom d'hôte du conteneur | Le préfixe à utiliser sur les fichiers journaux créés par ce conteneur. |
| NOM_INSTANCE_FME | Le nom d'hôte du conteneur | Le nom du moteur qui apparaît sur leMoteurs page. |
| NOM DE NŒUD | Le nom d'hôte du conteneur | Le nom d’hôte du moteur que le conteneur Core utilise pour communiquer avec ce moteur. |
FME FlowConteneur de base
|
Variable d'environnement |
Valeur par défaut |
Description |
|---|---|---|
| FMEFLOWHOSTNAME | fmeflowcore | Le nom du service ou le nom d'hôte duFME Flow Conteneur de base. |
| PGSQLHOSTNAME | fmeflowdb | Le nom du service ou le nom d'hôte duFME Flow Base de données PostgreSQL. Pour utiliser un type de base de données différent, voirModification de la connexion à la base de données, ci-dessous. |
| PGSQLPORT | 5432 | Le port pour leFME Flow Base de données PostgreSQL. Pour utiliser un type de base de données différent, voirModification de la connexion à la base de données, ci-dessous. |
| POSTGRESQLSSL | FAUX | Régler survraipour forcer la connexion PostgreSQL à utiliser SSL. Cela ajoute l'optionsslrequire=true aux chaînes de connexion JDBC. |
| PGSQLUSERNAME | flux fme | L'utilisateur doit créer dans le cadre de laFME Flow schéma quiFME Flow utilisera pour se connecter à la base de données. |
| NOM D'HÔTE DU SERVEUR WEB | fmeflowweb | Le nom du service ou le nom d'hôte duFME Flow Conteneur de services Web. |
| REDISPOSÉS | file d'attente fmeflow | Le nom du service ou le nom d'hôte de la file d'attente Memurai. |
| REDISPORT | 6379 | Le port pour la file d'attente Memurai. |
| PORTPOOL |
Ce paramètre n'est requis que si les moteurs FME qui ne s'exécutent pas dans Docker se connectent à ceFME Flow Cœur. Si les moteurs se connectent depuis l’extérieur du réseau Docker, procédez comme suit :
|
|
| PREMIÈRE CONNEXIONCHANGER LE MOT DE PASSE | vrai | Sivrai, l'utilisateur sera invité à mettre à jour leadministrateurmot de passe lors de la connexion initiale auFME FlowInterface utilisateur Web après l'installation. SiFAUX, mise à jour duadministrateurle mot de passe ne sera pas requis lors de la connexion initiale. |
| MAX_TRANSACTION_RESULT_SUCCESSES | Spécifie le nombre de traductions réussies jusqu'à ce qu'un processus moteur doive être redémarré. | |
| MAX_TRANSACTION_RESULT_FAILURES | Spécifie le nombre de traductions ayant échoué jusqu'à ce qu'un processus moteur soit redémarré. | |
| PROCESSUS_PRINCIPAL | cœur | Définit le but de ce conteneur. Les valeurs valides sontcœur,socket Web, ouinitpgsql. Réglage sursocket Web démarre uniquement le processus websocket. Réglage surinitpgsqlexécute les scripts d'initialisation de la base de données sur la base de données configurée. Pour plus d'informations, voirInitialisation de la base de données PostgreSQL , ci-dessous. |
Conteneur NGINX
|
Variable d'environnement |
Valeur par défaut |
Description |
|---|---|---|
| PROTOCOLE WEB | https | Le protocoleFME Flow utilisations. Peut être soithttpou https. |
| NOM D'HÔTE EXTERNE | hôte local | Le nom d'hôte que les utilisateurs utiliseront pour se connecter à cetFME Flow. Il s’agit généralement du nom d’hôte ou de l’adresse IP de la machine physique sur laquelle le déploiement Docker s’exécute. Cette variable est utilisée pourSuivi des sujets. Si vous n'avez pas besoin d'utiliser la surveillance des sujets, laissez-la telle quellehôte local. |
| PORT EXTERNE | 443 | Le port utilisé pour se connecter àFME Flow. |
| Processus de travail NGINX | 1 | Nombre de travailleurs NGINX pour démarrer. |
Modification de la connexion à la base de données
Initialisation de la base de données PostgreSQL
Lorsqu'une nouvelle pile est lancée, un mode du conteneur principal remplit une base de données PostgreSQL vide avec leFME Flow schéma de base de données avant de démarrerFME Flow. Si vous souhaitez utiliser une base de données PostgreSQL existante pour votreFME Flow, vous devez configurer un conteneur d'initialisation à l'aide des variables d'environnement suivantes.
Par exemple, la commande suivante remplit le schéma dans une base de données PostgreSQL existante exécutée sur l'hôte my-psgql-hostname, puis se ferme.
docker run -e PGSQLHOSTNAME=mon-nom-d'hôte-pgsql -e PGSQLPORT=5432 -e PGSQLADMINUSER=postgres -e PGSQLADMINPASSWORD=postgres -e PRIMARY_PROCESS=initpgsql safesoftware/fmeflow-core:2024-latest
|
Variable d'environnement |
Valeur par défaut |
Description |
|---|---|---|
| PGSQLHOSTNAME | fmeflowdb |
Le nom d'hôte de la base de données PostgreSQL à initialiser. |
| PGSQLPORT | 5432 | Le port pour se connecter à la base de données PostgreSQL. |
| PGSQLADMINISUSER | postgres | Un utilisateur qui existe sur la base de données PostgreSQL et qui dispose des autorisations nécessaires pour créer une base de données. |
| PGSQLADMINMOT DE PASSE | Le mot de passe pour PGSQLADMINUSER. | |
| PGSQLADMINDATABASE | Même valeur que PGSQLADMINUSER | Définissez ceci sur la base de données à laquelle vous souhaitez vous connecter initialement en tant que PGSQLADMINUSER pour initialiser le schéma de base de données sur le service fmeflowdbinit. |
| PGSQLUSERNAME | flux fme | L'utilisateur doit créer dans le cadre de laFME Flow schéma quiFME Flow utilisera pour se connecter à la base de données. |
| PROCESSUS_PRINCIPAL | Régler surinitpgsql. | |
| AZUREPOSTGRESQL | FAUX | Régler survraisur le service fmeflowdbinit dans le fichier Docker Compose lors de l'utilisation d'une base de données Azure pour PostgreSQL pour garantir que la chaîne de connexion est correctement formatée. |
Exécution des conteneurs en tant qu'utilisateur différent
Par défaut, leFME Flow les conteneurs s'exécutent en tant qu'utilisateur nommé fmeflow dans le groupe fmeflow, avec UID et GID 1363. Vous souhaiterez peut-être que l’UID et le GID de l’utilisateur dans le conteneur correspondent à un utilisateur défini sur la machine hôte. Par exemple, vous souhaiterez peut-être utiliser un montage de liaison d'hôte pour leFME Flow Partagez le volume système au lieu d'utiliser les volumes Docker. Si vous montez un répertoire hôte dans le conteneur, il est optimal que les autorisations dans ce dossier correspondent à un utilisateur réel sur l'hôte.
Pour faire correspondre l'utilisateur et le groupe exécutant un conteneur avec un utilisateur défini sur la machine hôte, transmettez des variablesFMEFLOW_UID et FMEFLOW_GID, défini sur l'UID et le GID de l'utilisateur et de l'ID de groupe que vous souhaitez utiliser, respectivement. De plus, vous devez exécuter les conteneurs en tant qu'utilisateur root afin que l'initialisation du conteneur puisse définir les autorisations appropriées sur les fichiers. Cela se fait dans un Dockercourircommande avec le--utilisateur=0 drapeau, et dans Compose avec l'attribututilisateur: 0 pour exécuter en tant que root.
Exécution de conteneurs dans le fuseau horaire local
Par défaut,FME Flow les conteneurs fonctionnent en temps universel coordonné (UTC). Pour vous adapter au fuseau horaire local des hôtes du conteneur, montez les fichiers de fuseau horaire sur les conteneurs fmeflowweb, fmeflowcore, fmeflowqueue et fmeflowengine, comme suit :
volumes:
- "/etc/timezone:/etc/timezone:ro"
- "/etc/localtime:/etc/localtime:ro"
Vous pouvez également définir la variable d’environnement TZ pour chaque conteneur, comme suit :
TZ=<fuseau horaire>
où<fuseau horaire> est un code pays valide. Pour une liste des codes de pays, voirhttps://en.wikipedia.org/wiki/List_of_tz_database_time_zones.