Главная/ИИ/MLflow

Установка MLflow на свой сервер

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

3 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Серверу трекинга хватит 1 ядра и 2 ГБ памяти. Для команды сразу берите PostgreSQL и S3, включайте --app-name basic-auth и открывайте MLflow наружу только через HTTPS с явным --allowed-hosts.

Сервер на Ubuntu с NVMe, почасовая оплата и бесплатная приватная сеть.

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

01 · 1 мин

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

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

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

Инструмент · 1 мин

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

python3 -m venv ~/mlflow && ~/mlflow/bin/pip install mlflow
~/mlflow/bin/mlflow server

Так 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.

Клиентам адрес сервера передают переменной окружения:

export MLFLOW_TRACKING_URI=https://mlflow.example.com

Сервер под MLflow

Сервер трекинга лёгкий, тяжелеют база и артефакты

Кто пишет эксперименты
Где лежат артефакты (модели, графики)
Обучаете ли модели на этом же сервере

03 · 1 мин

MLflow в docker compose с PostgreSQL и S3#

Для команды SQLite меняют на PostgreSQL (флаг --backend-store-uri), а артефакты отправляют в S3 (флаг --artifacts-destination). Официальный образ лежит в ghcr.io, драйвер PostgreSQL и клиент S3 в примере доставляются при старте:

services:
  db:
    image: postgres:16
    environment:
      POSTGRES_USER: mlflow
      POSTGRES_PASSWORD: смените-пароль
      POSTGRES_DB: mlflow
    volumes:
      - pgdata:/var/lib/postgresql/data
  mlflow:
    image: ghcr.io/mlflow/mlflow:v3.17.1
    depends_on: [db]
    ports:
      - "127.0.0.1:5000:5000"
    environment:
      MLFLOW_AUTH_ADMIN_PASSWORD: длинный-пароль-админа
      AWS_ACCESS_KEY_ID: ключ-s3
      AWS_SECRET_ACCESS_KEY: секрет-s3
      MLFLOW_S3_ENDPOINT_URL: https://адрес-s3
    command: >
      sh -c "pip install psycopg2-binary boto3 &&
      mlflow server --app-name basic-auth --host 0.0.0.0 --port 5000
      --backend-store-uri postgresql://mlflow:смените-пароль@db:5432/mlflow
      --artifacts-destination s3://bucket/mlflow
      --allowed-hosts mlflow.example.com"
volumes:
  pgdata:

Базу можно не держать в контейнере: управляемый PostgreSQL у Таймвеб Клауд стоит от 790 ₽ в месяц, S3-хранилище от 1 ₽ за 1 ГБ (цены на 14 октября 2026). Автоматические бэкапы базы там подключаются отдельной опцией.

04 · 1 мин

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

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

Пользователи и права хранятся в SQL-базе и сохраняются, даже если временно выключить авторизацию. Логин и пароль передаются в каждом запросе, поэтому снаружи MLflow открывают только через HTTPS: поставьте перед ним Caddy или Nginx с сертификатом и пропишите домен в --allowed-hosts.

Порт 5000 не для интернета

Через API MLflow можно скачать любую модель и удалить эксперименты. Держите порт на 127.0.0.1, как в примере, а для работы без домена используйте SSH-туннель.

05 · 1 мин

Вопросы об установке MLflow#

Почему 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.

Почему этому можно верить

Как мы проверяли

Цены с сайта провайдераСняты вручную, у каждой цены указана дата проверки.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Облачные базы данных Таймвеб Клауд, timeweb.cloud/services/dbaas, проверено 14 октября 2026; S3-хранилище Таймвеб Клауд, timeweb.cloud/services/s3-storage, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026; MLflow: сервер трекинга, mlflow.org/docs/latest/self-hosting/architecture/tracking-server, проверено 15 октября 2026; MLflow: basic-auth, mlflow.org/docs/latest/self-hosting/security/basic-http-auth, проверено 15 октября 2026; MLflow: защита сервера в сети, mlflow.org/docs/latest/self-hosting/security/network, проверено 15 октября 2026; MLflow: образ в GitHub Container Registry, github.com/mlflow/mlflow/pkgs/container/mlflow, проверено 15 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

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

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

  • NVMe-диски и гарантированная доля процессора
  • Root-доступ и любой софт, от Docker до игровых серверов
  • Маркетплейс: 91 приложение в один клик
  • Бесплатный перенос проекта силами специалистов
Быстрый запуск