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.

PathWhat you getWhat you install
Free Cloud TrialA URL and login detailsNothing — open the link and sign in
Full On-Prem (pilot or license)An email with otai.yml + install commandDocker 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-smi must 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:

  1. 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
  2. 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):

YAML
version: 0.2.0
ticket_system: otobo # otobo | znuny | zammad | kix
install_mode: existing # existing | with_ticket_system
# ticketsystem_base_url: https://helpdesk.example/otobo/nph-genericinterface.pl
license_env_key: OTAI_LICENSE_KEY
llm_api_key_env_key: OTAI_LLM_API_KEY
edge:
chatbot:
session_create: '5r/m'
message_post: '30r/m'
max_inflight_streams: 2

Chatbot capacity is enforced by Caddy (otai-caddy), not Studio:

KeyMeaning
session_createNew chats per IP per minute
message_postMessages per IP per minute
max_inflight_streamsConcurrent 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:

Bash
export OTAI_LLM_API_KEY='sk-or-...' # only if you use a hosted LLM
powershell
$env:OTAI_LLM_API_KEY = 'sk-or-...'

install_mode chooses the ticket system:

ValueWhat happens
existingOTAI connects to a ticket system you already run. Set ticketsystem_base_url to its Generic Interface or API URL.
with_ticket_systemCompose 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:

Bash
curl -fsSL 'https://download.openticketai.com/i/TOKEN' | bash

That 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:

  1. Checks host RAM, free disk, and NVIDIA GPU (GPU is required for Full On-Prem).
  2. Renders Compose .env from otai.yml + generated secrets, loads image tars, copies ticket-system packages.
  3. Starts Compose.
  4. Installs an otai command on your PATH.
  5. Asks whether to enable daily backups — Yes is the default.

Non-interactive install

Bash
export OTAI_INSTALL_ASSUME_YES=1
export OTAI_ENABLE_BACKUPS=1 # default; set 0 to skip
export OTAI_BACKUP_SCHEDULE=daily # daily | weekly
./install.sh

Air-gap install

  1. 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.yml
    export OTAI_LICENSE_KEY='eyJ...'
    curl -fsSL https://download.openticketai.com/download.sh | bash -s -- --bundle airgap
  2. Copy the extracted otai-<version>/ directory and otai.yml to the air-gapped GPU server.

  3. 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

  1. Open Studio in the browser (URL printed by the installer / Compose).

  2. 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.

  3. Confirm health (use otai, not ./otai):

    Bash
    otai verify
    otai 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)

ResourceRequired / recommended
GPURequired: 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.

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):

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

VolumePath in containerContents
otai-studio-data/app/data/otai-studio.dbStudio config (agents, settings)
otai-runtime-data/app/data/otai-runtime.dbWorkflow 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