Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
V
vidai
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
SexHackMe
vidai
Commits
3af9ce3d
Commit
3af9ce3d
authored
Oct 07, 2025
by
Stefy Lanza (nextime / spora )
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add all database config options except db_* to /admin/config page
parent
eb0e13cb
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
222 additions
and
8 deletions
+222
-8
config.html
templates/admin/config.html
+152
-8
admin.py
vidai/admin.py
+70
-0
No files found.
templates/admin/config.html
View file @
3af9ce3d
...
...
@@ -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
vidai/admin.py
View file @
3af9ce3d
...
...
@@ -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'
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment