Installation
Install Full On-Prem with the email config pack and an NVIDIA GPU (online or air-gap).
Installation
Choose the path that matches what you received from Open Ticket AI.
| Path | What you get | What you install |
|---|---|---|
| Free Cloud Trial | A URL and login details | Nothing — open the link and sign in |
| Full On-Prem (pilot or license) | An email with otai.yml + install command | Docker Compose on your NVIDIA GPU host |
This page covers Full On-Prem only. One software package serves all ticket systems; your emailed config already sets OTOBO, Znuny, Zammad, or KIX.
What you need (Full On-Prem)
- Docker Engine 24+, Docker Compose v2, and the NVIDIA Container Toolkit
- An NVIDIA GPU with ≥ 24 GB VRAM (
nvidia-smimust work on the host) - The config pack from your Open Ticket AI email (
otai.yml) - Either network access to a ticket system you already run, or a host that can start the bundled ticket system
- Enough host RAM for Runtime + local LLM (typically ≥ 32 GB on GPU hosts)
Config pack (from your email)
For a pilot or full license we send:
otai.yml— pinned version, ticket system, and the names of the environment variables that hold the license JWT and (if needed) the hosted LLM API key- The install one-liner below
Do not invent API tokens or connector passwords — the installer generates
them (see LD-043). The license JWT
also encodes allowed software versions (min_version / max_version). Use the
version in otai.yml — do not guess.
Example otai.yml (env key names are the defaults — you can omit them):
version: 0.2.0ticket_system: otobo # otobo | znuny | zammad | kixinstall_mode: existing # existing | with_ticket_system# ticketsystem_base_url: https://helpdesk.example/otobo/nph-genericinterface.pllicense_env_key: OTAI_LICENSE_KEYllm_api_key_env_key: OTAI_LLM_API_KEYedge: chatbot: session_create: '5r/m' message_post: '30r/m' max_inflight_streams: 2Chatbot capacity is enforced by Caddy (otai-caddy), not Studio:
| Key | Meaning |
|---|---|
session_create | New chats per IP per minute |
message_post | Messages per IP per minute |
max_inflight_streams | Concurrent POST …/messages/stream (GPU budget) |
These keys apply when the stack runs otai-caddy (e2e and the Full On-Prem
download pack). The deploy/basic_* example compose files do not include Caddy
yet, so they do not enforce edge.chatbot.
We email one command. The link lasts 72 hours and works once. It carries the
license, version, ticket system, and install_mode. Paste it on the Ubuntu GPU
host. Do not paste the key into the shell or into otai.yml.
Set a hosted LLM key in the shell only when you use one:
export OTAI_LLM_API_KEY='sk-or-...' # only if you use a hosted LLM$env:OTAI_LLM_API_KEY = 'sk-or-...'install_mode chooses the ticket system:
| Value | What happens |
|---|---|
existing | OTAI connects to a ticket system you already run. Set ticketsystem_base_url to its Generic Interface or API URL. |
with_ticket_system | Compose starts OTOBO, Znuny, Zammad, or KIX together with OTAI. |
Do not paste the JWT or API key into otai.yml.
Online install
On the Ubuntu GPU host, paste the command from the email:
curl -fsSL 'https://download.openticketai.com/i/TOKEN' | bashThat installs Docker Engine and the Compose plugin when they are missing, downloads the release, loads the image archives, and starts Compose. The license stays inside the downloaded script.
install.sh:
- Checks host RAM, free disk, and NVIDIA GPU (GPU is required for Full On-Prem).
- Renders Compose
.envfromotai.yml+ generated secrets, loads image tars, copies ticket-system packages. - Starts Compose.
- Installs an
otaicommand on your PATH. - Asks whether to enable daily backups — Yes is the default.
Non-interactive install
export OTAI_INSTALL_ASSUME_YES=1export OTAI_ENABLE_BACKUPS=1 # default; set 0 to skipexport OTAI_BACKUP_SCHEDULE=daily # daily | weekly./install.shAir-gap install
-
On a connected machine, download the air-gap bundle (version from
otai.yml):Bash export OTAI_VERSION=0.2.0 # same as version: in otai.ymlexport OTAI_LICENSE_KEY='eyJ...'curl -fsSL https://download.openticketai.com/download.sh | bash -s -- --bundle airgap -
Copy the extracted
otai-<version>/directory andotai.ymlto the air-gapped GPU server. -
On the air-gapped server:
Bash cd /path/to/otai-<version>cp /path/to/otai.yml ./otai.yml# optional: OTAI_OLLAMA_MODELS_DIR=/path/to/ollama/models./install.sh
Air-gap installs do not call the download API again. Containers validate the license locally on startup.
After install
-
Open Studio in the browser (URL printed by the installer / Compose).
-
Install the OpenTicketAI add-on from
install-packages/into OTOBO / Znuny (optional: OTAICustomerChat). For KIX, use the Studio frontend plugin. The connector password was already generated and written for Studio/Runtime. -
Confirm health (use
otai, not./otai):Bash otai verifyotai version
If otai is not found, add ~/.local/bin to your PATH (the installer prints
the exact line when it installs the user wrapper).
Host requirements (checked at install)
| Resource | Required / recommended |
|---|---|
| GPU | Required: NVIDIA GPU ≥ 24 GB VRAM (nvidia-smi) |
| RAM | ≥ 32 GB recommended |
| Free disk | ≥ 20 GB (online); air-gap bundles need much more |
Without a suitable NVIDIA GPU, Full On-Prem is not supported. Warnings for RAM or disk do not block install unless you decline to continue.
On a 24 GB GPU install, Ollama keeps Qwen 3.8 27B (Best quality) and Qwen 3.5 2B (Fast) loaded so agents can switch profile without swapping weights. New agents pick a catalog default: Best quality for chat, large classification, summary, and reply draft; Fast for priority, title rewrite, and field extraction. You can still switch the profile on each agent.
Recommended procurement configurations
Tower and rack deployments have the same lean compute requirements:
- GPU: NVIDIA GPU with at least 24 GB VRAM, such as an RTX PRO 4000 Blackwell or NVIDIA L4
- RAM: 32 GB recommended
- CPU: modern x86-64 processor with at least 4 cores
- Storage: at least a 250 GB SSD
For rack deployment, 2U, redundant power supplies, rails, ECC RAM, and RAID 1 are optional operational-resilience features — not Open Ticket AI minimum requirements. The NVIDIA L4 uses passive server cooling and requires suitable chassis airflow; install a workstation GPU only in a chassis validated for that card by the server vendor.
Examples of configurable systems (no commercial affiliation with or hardware endorsement by Open Ticket AI):
- Tower: MIFCOM workstation with RTX PRO 4000 Blackwell
- Rack with RTX PRO 4000 Blackwell: AIME A4004
- Rack with NVIDIA L4: Thomas-Krenn 2U AMD GPU server
Before ordering, verify the selected VRAM capacity, GPU power supply, cooling, and Linux driver support. In particular, the older RTX 4000 Ada with 20 GB does not meet the 24 GB minimum. Prices, availability, and configurator options can change.
Persistent data
| Volume | Path in container | Contents |
|---|---|---|
otai-studio-data | /app/data/otai-studio.db | Studio config (agents, settings) |
otai-runtime-data | /app/data/otai-runtime.db | Workflow run history / dashboard KPIs |
Site values live in otai.yml. Secrets live in .otai/secrets.env. Compose
.env is generated from both — do not hand-edit it. Ticket content stays in
your ticket system database.
Next steps
- Backups and restore
- Updates
- Handbook overview
