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

Conteneur de moteur FME

FME FlowConteneur de base

Conteneur NGINX

Modification de la connexion à la base de données

NotePour configurerFME Flow pour se connecter à un serveur Microsoft SQL ou à une base de données Oracle,contacter le support Safe.

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>

<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.