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, 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) - Network access to your ticket system API (or an air-gapped copy of the release)
- 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— license key, pinned version, and ticket system (site config)- 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 (values filled by us):
license_key: eyJ...
version: 0.2.0
ticket_system: otobo # otobo | zammad | kix
Online install
On the GPU host with internet, copy otai.yml into the working directory, then:
curl -fsSL https://download.openticketai.com/download.sh | bash -s -- --bundle online
cd otai-* # extracted release directory
cp ../otai.yml ./otai.yml # if the file lived next to the download
./install.sh
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=1
export OTAI_ENABLE_BACKUPS=1 # default; set 0 to skip
export OTAI_BACKUP_SCHEDULE=daily # daily | weekly
./install.sh
Air-gap install
-
On a connected machine, download the air-gap bundle (version from
otai.yml):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 -
Copy the extracted
otai-<version>/directory andotai.ymlto the air-gapped GPU server. -
On the air-gapped server:
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 ticket-system add-on packages from
install-packages/into OTOBO / Zammad / KIX as required for your system (connector password was already generated and written for Studio/Runtime). -
Confirm health (use
otai, not./otai):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)
| 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.
Persistent data
| Volume | Path in container | Contents |
|---|---|---|
otai-studio-data | /app/data/otai-studio.db | Studio config (AI tasks, 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
