Установка MLflow на свой сервер: коротко и с данными

Конспект страницы: 5 разделов коротко, данные на 14 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: Установка MLflow на свой сервер.

Коротко

Установка MLflow на сервер начинается с команды mlflow server: интерфейс и API открываются на порту 5000, а метаданные пишутся в SQLite. Для команды базу меняют на PostgreSQL, артефакты выносят в S3 и включают вход по паролю. Серверу трекинга хватит 1 ядра и 2 ГБ памяти.

Конспект по разделам

Зачем MLflow отдельный сервер

MLflow: открытая платформа для учёта экспериментов машинного обучения. Скрипт обучения отправляет на сервер параметры, метрики и файлы модели, а вы сравниваете запуски в веб-интерфейсе и регистрируете удачные модели. Локально MLflow пишет всё в каталог проекта, и результаты остаются на одном ноутбуке.

Первый запуск MLflow на Ubuntu

Так MLflow отдаёт интерфейс и REST API на http://127.0.0.1:5000 и хранит метаданные в файле mlflow.db (SQLite). С версии 3.5.0 встроенная защита пускает только локальные подключения: чтобы открыть сервер другим машинам, нужны --host 0.0.0.0 и явный список --allowed-hosts, а при запросах из браузера с других сайтов ещё и --cors-allowed-origins. Клиентам адрес сервера передают переменной окружения: Сервер трекинга лёгкий, тяжелеют база и артефакты

MLflow в docker compose с PostgreSQL и S3

Для команды SQLite меняют на PostgreSQL (флаг --backend-store-uri ), а артефакты отправляют в S3 (флаг --artifacts-destination ). Официальный образ лежит в ghcr.io, драйвер PostgreSQL и клиент S3 в примере доставляются при старте: Базу можно не держать в контейнере: управляемый PostgreSQL у Таймвеб Клауд стоит от 790 ₽ в месяц, S3-хранилище от 1 ₽ за 1 ГБ (цены на 14 октября 2026). Автоматические бэкапы базы там подключаются отдельной опцией.

Как закрыть MLflow паролем и открыть по HTTPS

Вход по логину и паролю включает флаг --app-name basic-auth. Пароля администратора по умолчанию нет: при первом старте MLflow создаёт администратора с паролем из переменной MLFLOW_AUTH_ADMIN_PASSWORD и отказывается запускаться, если она не задана. Пароль должен быть не короче 12 символов.

Запустите свой сервер за пару минут

Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.

Вопросы и ответы

Почему MLflow на сервере не открывается с другого компьютера?

С версии 3.5.0 MLflow по умолчанию принимает только локальные подключения. Запустите его с --host 0.0.0.0 и перечислите свои домены в --allowed-hosts.

Какой пароль администратора у MLflow по умолчанию?

Его нет: с basic-auth MLflow берёт пароль из переменной MLFLOW_AUTH_ADMIN_PASSWORD, без неё не запускается. Длина пароля от 12 символов.

Где MLflow хранит данные по умолчанию?

Метаданные в SQLite-файле mlflow.db в рабочем каталоге. Для команды подключают PostgreSQL через --backend-store-uri.

Можно ли хранить модели MLflow в S3?

Да, флаг --artifacts-destination с адресом бакета s3:// отправляет артефакты в хранилище, для S3-совместимых сервисов задают MLFLOW_S3_ENDPOINT_URL.