Восстановить флаги удалённого доступа в start_ui.sh (allowed-hosts, cors, serve-artifacts, dev)

This commit is contained in:
2026-07-21 00:16:01 +03:00
parent 9c3321b3a7
commit e0ddc9c53b
2 changed files with 23 additions and 12 deletions
+22 -12
View File
@@ -2,30 +2,35 @@
# ============================================================
# Запуск MLflow Tracking Server
# Откройте в браузере: http://localhost:5555
# С другой машины: http://<server-ip>:5555
#
# Backend store = SQLite (mlflow.db) — recommended MLflow backend.
# Скрипты в src/ логируют на этот сервер (http://localhost:5555) через
# mlflow.set_tracking_uri(...) — поэтому UI и скрипты работают с одной
# базой, и эксперименты сразу видны в UI.
# mlflow.set_tracking_uri(...) — UI и скрипты работают с одной базой.
#
# ⚠️ file-store как tracking backend в новых MLflow (3.x) переведён в
# maintenance mode и запрещён (ошибка и на сервере, и у клиента-скрипта).
# Поэтому используем sqlite. Артефакты при этом лежат на локальном диске
# в ./artifacts (file-based artifact repository — он НЕ в maintenance mode).
# Доступ к UI с других машин (браузером по IP сервера) — включён:
# --host 0.0.0.0 слушать на всех интерфейсах
# --allowed-hosts "*" разрешить любой Host-заголовок (иначе MLflow
# режет запросы с Host=<server-ip>:5555)
# --cors-allowed-origins "*" разрешить кросс-доменные API-запросы
# MLFLOW_ALLOW_ORIGIN="*" то же через env (совместимость)
# --serve-artifacts сервер сам отдаёт артефакты (иначе UI на
# --artifacts-destination удалённой машине не скачает model/графики
# по file://-путям)
# --dev dev-режим (релиакс host-проверок)
#
# Запустите сервер ДО запуска скриптов обучения:
# ./start_ui.sh # в одном терминале
# python src/train_simple.py ... # в другом (нужен работающий сервер)
# Запустите сервер ДО запуска скриптов обучения.
# ============================================================
set -e
cd "$(dirname "$0")"
PORT="${MLFLOW_PORT:-5555}"
export MLFLOW_ALLOW_ORIGIN="*"
echo "🚀 Запускаем MLflow Tracking Server..."
echo " UI: http://localhost:${PORT}"
echo " UI: http://localhost:${PORT} (с других машин: http://<server-ip>:${PORT})"
echo " Backend: sqlite:///${PWD}/mlflow.db"
echo " Artifacts: file://${PWD}/artifacts"
echo " Artifacts: file://${PWD}/artifacts (serve-artifacts включён)"
echo ""
echo " Скрипты логируют сюда через MLFLOW_TRACKING_URI=http://localhost:${PORT}"
echo " (можно переопределить: export MLFLOW_TRACKING_URI=http://<host>:${PORT})"
@@ -36,5 +41,10 @@ echo ""
mlflow server \
--backend-store-uri "sqlite:///${PWD}/mlflow.db" \
--default-artifact-root "file://${PWD}/artifacts" \
--serve-artifacts \
--artifacts-destination "file://${PWD}/artifacts" \
--allowed-hosts "*" \
--cors-allowed-origins "*" \
--host 0.0.0.0 \
--port "${PORT}"
--port "${PORT}" \
--dev