Add all database config options except db_* to /admin/config page

parent eb0e13cb
......@@ -121,7 +121,158 @@
<h2 class="section-title">General Settings</h2>
<div class="form-group">
<label for="base_url">Base URL</label>
<input type="text" id="base_url" name="base_url" value="{{ current_config.base_url }}">
<input type="text" id="base_url" name="base_url" value="{{ current_config.get('base_url', '') }}">
</div>
</div>
<div class="config-section">
<h2 class="section-title">AI Settings</h2>
<div class="form-row">
<div class="form-group">
<label for="analysis_backend">Analysis Backend</label>
<select id="analysis_backend" name="analysis_backend">
<option value="cuda" {% if current_config.get('analysis_backend') == 'cuda' %}selected{% endif %}>CUDA</option>
<option value="rocm" {% if current_config.get('analysis_backend') == 'rocm' %}selected{% endif %}>ROCm</option>
<option value="cpu" {% if current_config.get('analysis_backend') == 'cpu' %}selected{% endif %}>CPU</option>
</select>
</div>
<div class="form-group">
<label for="training_backend">Training Backend</label>
<select id="training_backend" name="training_backend">
<option value="cuda" {% if current_config.get('training_backend') == 'cuda' %}selected{% endif %}>CUDA</option>
<option value="rocm" {% if current_config.get('training_backend') == 'rocm' %}selected{% endif %}>ROCm</option>
<option value="cpu" {% if current_config.get('training_backend') == 'cpu' %}selected{% endif %}>CPU</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="default_model">Default Model</label>
<input type="text" id="default_model" name="default_model" value="{{ current_config.get('default_model', '') }}">
</div>
<div class="form-group">
<label for="default_model_type">Default Model Type</label>
<select id="default_model_type" name="default_model_type">
<option value="auto" {% if current_config.get('default_model_type') == 'auto' %}selected{% endif %}>Auto</option>
<option value="qwen2.5-vl" {% if current_config.get('default_model_type') == 'qwen2.5-vl' %}selected{% endif %}>Qwen2.5-VL</option>
<option value="qwen-vl" {% if current_config.get('default_model_type') == 'qwen-vl' %}selected{% endif %}>Qwen-VL</option>
<option value="text-only" {% if current_config.get('default_model_type') == 'text-only' %}selected{% endif %}>Text Only</option>
<option value="llama" {% if current_config.get('default_model_type') == 'llama' %}selected{% endif %}>Llama</option>
<option value="mistral" {% if current_config.get('default_model_type') == 'mistral' %}selected{% endif %}>Mistral</option>
<option value="gpt" {% if current_config.get('default_model_type') == 'gpt' %}selected{% endif %}>GPT</option>
</select>
</div>
<div class="form-group">
<label for="frame_interval">Frame Interval</label>
<input type="number" id="frame_interval" name="frame_interval" value="{{ current_config.get('frame_interval', '') }}">
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="optimize">
<input type="checkbox" id="optimize" name="optimize" {% if current_config.get('optimize') %}checked{% endif %}>
Optimize
</label>
</div>
<div class="form-group">
<label for="ffmpeg">
<input type="checkbox" id="ffmpeg" name="ffmpeg" {% if current_config.get('ffmpeg') %}checked{% endif %}>
Use FFmpeg
</label>
</div>
<div class="form-group">
<label for="flash">
<input type="checkbox" id="flash" name="flash" {% if current_config.get('flash') %}checked{% endif %}>
Flash Attention
</label>
</div>
</div>
</div>
<div class="config-section">
<h2 class="section-title">RunPod Settings</h2>
<div class="form-row">
<div class="form-group">
<label for="runpod_enabled">
<input type="checkbox" id="runpod_enabled" name="runpod_enabled" {% if current_config.get('runpod_enabled') %}checked{% endif %}>
Enable RunPod
</label>
</div>
<div class="form-group">
<label for="runpod_api_key">RunPod API Key</label>
<input type="password" id="runpod_api_key" name="runpod_api_key" value="{{ current_config.get('runpod_api_key', '') }}">
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="runpod_template_id">RunPod Template ID</label>
<input type="text" id="runpod_template_id" name="runpod_template_id" value="{{ current_config.get('runpod_template_id', '') }}">
</div>
<div class="form-group">
<label for="runpod_gpu_type">RunPod GPU Type</label>
<input type="text" id="runpod_gpu_type" name="runpod_gpu_type" value="{{ current_config.get('runpod_gpu_type', '') }}">
</div>
<div class="form-group">
<label for="use_runpod_pods">
<input type="checkbox" id="use_runpod_pods" name="use_runpod_pods" {% if current_config.get('use_runpod_pods') %}checked{% endif %}>
Use RunPod Pods
</label>
</div>
</div>
</div>
<div class="config-section">
<h2 class="section-title">System Settings</h2>
<div class="form-row">
<div class="form-group">
<label for="host">Host</label>
<input type="text" id="host" name="host" value="{{ current_config.get('host', '') }}">
</div>
<div class="form-group">
<label for="port">Port</label>
<input type="number" id="port" name="port" value="{{ current_config.get('port', '') }}">
</div>
<div class="form-group">
<label for="debug">
<input type="checkbox" id="debug" name="debug" {% if current_config.get('debug') %}checked{% endif %}>
Debug Mode
</label>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="allowed_dir">Allowed Directory</label>
<input type="text" id="allowed_dir" name="allowed_dir" value="{{ current_config.get('allowed_dir', '') }}">
</div>
<div class="form-group">
<label for="comm_type">Communication Type</label>
<select id="comm_type" name="comm_type">
<option value="unix" {% if current_config.get('comm_type') == 'unix' %}selected{% endif %}>Unix</option>
<option value="tcp" {% if current_config.get('comm_type') == 'tcp' %}selected{% endif %}>TCP</option>
</select>
</div>
<div class="form-group">
<label for="max_concurrent_jobs">Max Concurrent Jobs</label>
<input type="number" id="max_concurrent_jobs" name="max_concurrent_jobs" value="{{ current_config.get('max_concurrent_jobs', '') }}">
</div>
</div>
</div>
<div class="config-section">
<h2 class="section-title">Cluster Settings</h2>
<div class="form-row">
<div class="form-group">
<label for="cluster_host">Cluster Host</label>
<input type="text" id="cluster_host" name="cluster_host" value="{{ current_config.get('cluster_host', '') }}">
</div>
<div class="form-group">
<label for="cluster_port">Cluster Port</label>
<input type="number" id="cluster_port" name="cluster_port" value="{{ current_config.get('cluster_port', '') }}">
</div>
<div class="form-group">
<label for="cluster_token">Cluster Token</label>
<input type="password" id="cluster_token" name="cluster_token" value="{{ current_config.get('cluster_token', '') }}">
</div>
</div>
</div>
......@@ -130,11 +281,4 @@
</div>
</div>
<script>
document.getElementById('db_type').addEventListener('change', function() {
const dbType = this.value;
document.getElementById('sqlite_settings').style.display = dbType === 'sqlite' ? 'block' : 'none';
document.getElementById('mysql_settings').style.display = dbType === 'mysql' ? 'block' : 'none';
});
</script>
{% endblock %}
\ No newline at end of file
......@@ -335,6 +335,76 @@ def config():
base_url = request.form.get('base_url', 'http://localhost:5000')
set_base_url(base_url)
# AI Settings
analysis_backend = request.form.get('analysis_backend', 'cuda')
set_analysis_backend(analysis_backend)
training_backend = request.form.get('training_backend', 'cuda')
set_training_backend(training_backend)
default_model = request.form.get('default_model', 'Qwen/Qwen2.5-VL-7B-Instruct')
set_default_model(default_model)
default_model_type = request.form.get('default_model_type', 'auto')
set_default_model_type(default_model_type)
frame_interval = int(request.form.get('frame_interval', '10'))
set_frame_interval(frame_interval)
optimize = request.form.get('optimize') == 'on'
set_optimize(optimize)
ffmpeg = request.form.get('ffmpeg') == 'on'
set_ffmpeg(ffmpeg)
flash = request.form.get('flash') == 'on'
set_flash(flash)
# RunPod Settings
runpod_enabled = request.form.get('runpod_enabled') == 'on'
set_runpod_enabled(runpod_enabled)
runpod_api_key = request.form.get('runpod_api_key', '')
set_runpod_api_key(runpod_api_key)
runpod_template_id = request.form.get('runpod_template_id', 'vidai-analysis-latest')
set_runpod_template_id(runpod_template_id)
runpod_gpu_type = request.form.get('runpod_gpu_type', 'NVIDIA RTX A4000')
set_runpod_gpu_type(runpod_gpu_type)
use_runpod_pods = request.form.get('use_runpod_pods') == 'on'
set_use_runpod_pods(use_runpod_pods)
# System Settings
host = request.form.get('host', '0.0.0.0')
set_host(host)
port = int(request.form.get('port', '5000'))
set_port(port)
debug = request.form.get('debug') == 'on'
set_debug(debug)
allowed_dir = request.form.get('allowed_dir', '')
set_allowed_dir(allowed_dir)
comm_type = request.form.get('comm_type', 'unix')
set_comm_type(comm_type)
max_concurrent_jobs = int(request.form.get('max_concurrent_jobs', '1'))
set_max_concurrent_jobs(max_concurrent_jobs)
# Cluster Settings
cluster_host = request.form.get('cluster_host', '')
set_cluster_host(cluster_host)
cluster_port = int(request.form.get('cluster_port', '5003'))
set_cluster_port(cluster_port)
cluster_token = request.form.get('cluster_token', '')
set_cluster_token(cluster_token)
flash('Configuration updated successfully!', 'success')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment