Setup & Settings

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.

Installer Flow

Start setup

The operator enters app host/port, optional CORS origins, MySQL connection details, the first admin email/password, and the password policy choice.

Create database

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.

Review runtime defaults

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.

Restart into the app

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.

Admin Settings Drawer

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.

Configuration Files & Seeded Defaults

Bootstrap config

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.

Flask secret

The app uses a local flask_secret.key file for the Flask secret key when the file is present or generated by the app.

Model defaults

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.

Benchmark defaults

The seed file creates the default CE benchmark profile, Core Suite prompt set, and five benchmark prompts.

Local Prerequisites

Required pieces

  • A Python environment that can run the Flask app.
  • A reachable MySQL server.
  • A llama-server executable compatible with the models and hardware.
  • Local GGUF model files in the configured scan directory.
  • SMTP settings if password reset, confirmation, resend, or email-change links should send email.

GPU visibility

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.

Platform Notes

Windows

The repository includes start_llm_controller.bat. It checks for Python and app.py, then starts the Flask app with python app.py.

Linux and Ubuntu

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.