diff --git a/.gitignore b/.gitignore index 81c0338..2e04f8a 100644 --- a/.gitignore +++ b/.gitignore @@ -65,6 +65,7 @@ ml/models/* ml/mlruns/ ml/mlartifacts/ ml/mlflow.db* +ml/.env # IDE et OS .idea/ diff --git a/ml/.dockerignore b/ml/.dockerignore index 456e579..5784a2c 100644 --- a/ml/.dockerignore +++ b/ml/.dockerignore @@ -3,3 +3,4 @@ data mlruns mlflow.db* models +.env diff --git a/ml/.env.example b/ml/.env.example new file mode 100644 index 0000000..65e2ef5 --- /dev/null +++ b/ml/.env.example @@ -0,0 +1 @@ +MLFLOW_DB_PASSWORD=change-me diff --git a/ml/README.md b/ml/README.md index b11a273..2847555 100644 --- a/ml/README.md +++ b/ml/README.md @@ -59,6 +59,13 @@ lags/moyennes glissantes, une fuite qui masquerait un surapprentissage. ## Serveur MLflow (conteneur) +Premiere utilisation : copier `.env.example` en `.env` et y choisir un mot de passe PostgreSQL +(lettres et chiffres uniquement). Le fichier `.env` est ignore par git. + +``` +Copy-Item .env.example .env +``` + Un serveur MLflow (PostgreSQL pour les metadonnees, volume pour les artefacts) se lance avec Docker. Prerequis : Docker Desktop demarre. diff --git a/ml/docker-compose.mlflow.yml b/ml/docker-compose.mlflow.yml index 981a2f9..0d889cb 100644 --- a/ml/docker-compose.mlflow.yml +++ b/ml/docker-compose.mlflow.yml @@ -3,7 +3,7 @@ services: image: postgres:16 environment: POSTGRES_USER: mlflow - POSTGRES_PASSWORD: mlflow + POSTGRES_PASSWORD: ${MLFLOW_DB_PASSWORD:?definir MLFLOW_DB_PASSWORD dans ml/.env} POSTGRES_DB: mlflow volumes: - mlflow-db-data:/var/lib/postgresql/data @@ -24,7 +24,7 @@ services: command: > mlflow server --host 0.0.0.0 --port 5000 - --backend-store-uri postgresql://mlflow:mlflow@mlflow-db:5432/mlflow + --backend-store-uri postgresql://mlflow:${MLFLOW_DB_PASSWORD}@mlflow-db:5432/mlflow --artifacts-destination /mlartifacts --serve-artifacts