Start setup
The operator enters app host/port, optional CORS origins, MySQL connection details, the first admin email/password, and the password policy choice.
When setup is incomplete, LLM Controller CE opens the installer instead of the normal login and application screens.
After setup, admins continue configuration from the Admin Settings drawer: runtime paths, ports, attachment limits, auth email settings, and settings backup.
The operator enters app host/port, optional CORS origins, MySQL connection details, the first admin email/password, and the password policy choice.
The installer tests MySQL, saves bootstrap configuration, imports schema and seed SQL, creates the initial admin account with confirmed email status, and saves the selected password policy.
The operator reviews the seeded model directory, llama-server path, main/title ports, GPU layers, CPU threads, and dual-GPU split threshold. Saving writes defaults to MySQL and marks setup complete.
After setup is marked complete, the handoff page tells the operator to restart the app. The next clean start loads the normal login flow and authenticated app screens.
| Setting area | What admins can configure |
|---|---|
| Bootstrap database | View and save MySQL host and port. The app validates the connection before saving database host or port changes. |
| Model defaults | llama-server path, main and title ports, model scan directory, GPU layers, CPU threads, dual-GPU split threshold, temperature, top-k, top-p, repeat penalty, and seed. |
| Attachment limits | Maximum attachments per message, per-file size, total size, context characters, chunk max lines, and chunk overlap lines. |
| Auth email | SMTP enabled state, host, port, STARTTLS, username, password, sender email, public base URL, reset/confirmation token TTLs, and email request cooldown. |
| Settings backup | Export a settings backup JSON. Stored SMTP password values are masked in the export. |
The installer writes app bind and database connection settings to bootstrap_config.json by default. LLM_CONTROLLER_BOOTSTRAP_CONFIG can point the app at a different bootstrap config file.
The app uses a local flask_secret.key file for the Flask secret key when the file is present or generated by the app.
The seed file includes scan directory LLMs, llama-server path llama-server/llama-server.exe, and default ports for the main and title model processes.
The seed file creates the default CE benchmark profile, Core Suite prompt set, and five benchmark prompts.
NVIDIA telemetry depends on nvidia-smi. AMD telemetry depends on ROCm tools such as rocm-smi or rocminfo. GPU offload also depends on the configured llama-server build and saved launch settings.
The repository includes start_llm_controller.bat. It checks for Python and app.py, then starts the Flask app with python app.py.
The app uses configurable paths for the model directory and llama-server executable. Linux operators run the Python app through their chosen shell or service setup.