fix ui buttons and docker compose

This commit is contained in:
malvm 2026-08-05 09:50:00 +04:00
parent d91eca366f
commit fed058d4c8
3 changed files with 12 additions and 6 deletions

View file

@ -4,16 +4,17 @@ services:
context: .
image: yolo-train-webui:latest
ports:
# The training API has no built-in user accounts, so expose it locally only.
- "127.0.0.1:8000:8000"
- "8000:8000"
volumes:
- ./datasets:/workspace/datasets
- ./runs:/workspace/runs
- ./models:/workspace/models
- ./models/.config:/root/.config/Ultralytics
environment:
# Optional: tracking URI for external MLflow server (e.g. http://host.docker.internal:5000 or http://your-mlflow-host:5000)
# Tracking URI for external MLflow server. Change host/IP if running MLflow on another machine/container.
YOLO_WEBUI_MLFLOW_TRACKING_URI: http://host.docker.internal:5000
extra_hosts:
- "host.docker.internal:host-gateway"
# Uncomment the block below on Linux with NVIDIA GPU to pass the graphics card into the container:
# deploy:
# resources:

View file

@ -24,6 +24,7 @@ document.addEventListener('DOMContentLoaded', () => {
const mlflowInputs = document.querySelectorAll('.mlflow-fields input');
const trackingUriInput = document.getElementById('tracking-uri');
const mlflowHeaderLink = document.getElementById('mlflow-header-link');
const taskSelect = document.getElementById('task');
// --- Dynamic Model Selection ---
const standardModels = {
@ -34,6 +35,7 @@ document.addEventListener('DOMContentLoaded', () => {
obb: ['yolo11n-obb.pt', 'yolo11s-obb.pt', 'yolo11m-obb.pt', 'yolo11l-obb.pt', 'yolo11x-obb.pt']
};
let discoveredModels = [];
let discoveredDatasets = [];
function getDiscoveredModelValue(model) {
return model.path || model.name;
@ -99,7 +101,6 @@ document.addEventListener('DOMContentLoaded', () => {
}
}
const taskSelect = document.getElementById('task');
// Session Controls
const sessionSelect = document.getElementById('session-select');
@ -701,7 +702,7 @@ document.addEventListener('DOMContentLoaded', () => {
}
// --- Datasets Auto-Discovery ---
let discoveredDatasets = [];
async function loadDatasetsList() {
try {
@ -932,6 +933,7 @@ document.addEventListener('DOMContentLoaded', () => {
}
if (configForm) {
configForm.addEventListener('submit', (e) => e.preventDefault());
configForm.addEventListener('input', () => {
const config = getFormConfig();
localStorage.setItem('draft_config', JSON.stringify(config));
@ -1249,5 +1251,8 @@ document.addEventListener('DOMContentLoaded', () => {
loadSessionsList();
connectWebSocket();
connectExportWebSocket();
}).catch(err => {
console.error('Initial load error:', err);
addLogLine('Ошибка загрузки конфигурации: ' + err.message, 'warning');
});
});

View file

@ -15,7 +15,7 @@ def test_compose_is_local_and_does_not_require_nvidia() -> None:
assert set(compose["services"].keys()) == {"webui"}
webui = compose["services"]["webui"]
assert webui["ports"] == ["127.0.0.1:8000:8000"]
assert webui["ports"] == ["8000:8000"]
assert "deploy" not in webui
assert "YOLO_WEBUI_MLFLOW_TRACKING_URI" in webui["environment"]