This repository contains a Docker-Setup for MLflow with integrated authentication and MinIO + PostgreSQL storage
Addressed Issues • Target Group • Architecture • Setup • ToDos
This repro addresses the need for an easy solution to setup an MLflow-Docker-Environment.
This repo is for data scientists and engineers who want to use MLflow with a solid storage and authentication solution.
- PostgreSQL database
- Stores runs and metrics
- Not accessible
- Minio s3 storage
- Stores models and artifacts
- Accessible via Port 19000
- MLflow server
- Orchestrates all tasks
- Accessible via Port 15000 (via ngninx)
- nginx webserver
- Acts as authentication layer for the mlflow server
Make sure the directory structure is as follows (you can check out my mlflow_extension as well that fits perfectly to this setup):
docker
├── docker-compose.yml
├── .env
├── minio
│ └── data
│ └── mlflow-bucket
├── mlflow_server
│ ├── Dockerfile
│ └── mlflow_extension-xxx-py3-none-any.whl (optional)
├── nginx
│ ├── Dockerfile
│ ├── .htpasswd
│ ├── mlflow.conf
│ └── nginx.conf
└── postgres
└── data
- Rename
.env-template
file to.env
- Populate
.env
file with the proper values - Decide whether you want to include the plugin or not
- Start with
docker-compose -f "docker-compose.yml" up -d --build
- Nothing yet