Lokální instalace

AITM — Průvodce instalací Docker

Vše, co potřebujete ke spuštění AITM (AI Task Manager) v Docker, na jakémkoliv počítači, který umí spustit Docker Desktop nebo Docker Engine.

v2.5.1 Linux · macOS · Windows Jazyk: EN

Požadavky

  • Docker Desktop (Windows, macOS) nebo Docker Engine + Compose plugin (Linux) — verze 24 nebo novější.
  • Na Windows musí být Docker Desktop nastaven tak, aby používal WSL2 / desktop-linux backend, ne pouze Hyper-V nebo Windows containers.
  • Nejméně 8 GB RAM; 32 GB doporučeno, pokud běží pipeline úlohy, buildy a testovací sady souběžně.
  • Nejméně 100 GB volného místa na disku — image plus pojmenované svazky, per-projektové worktrees, artefakty a logy s časem rostou.
  • Port 3333 volný na hostiteli je praktický, ale ne povinný — automatický instalátor (--auto/-Auto) detekuje obsazený port a sám vybere volný (viz krok 2).
  • Release balíček: rozbalená složka aitm-release-v<version> obsahující instalační scripty ve svém kořeni a podsložku docker/ s image tarballem a compose soubory, získaná z AITM Release Manager výstupu.
Před zahájením

Docker Desktop musí být plně spuštěn — engine běhící, ne jen ikonka v tray — než spustíte instalátor. Na Windows to znamená, že com.docker.service služba je Running a docker info funguje. Pokud byl Docker právě nainstalován nebo se počítač právě restartoval, počkejte minutu a znovu zkontrolujte pomocí docker info.

Rychlá instalace

Spusť instalátor z kořene rozbalené release složky. V plně automatickém režimu (--auto / -Auto) ověří/nainstaluje Docker, vytvoří docker/.env, vygeneruje silný AITM_ADMIN_TOKEN, sám vybere volný port, pokud je 3333 obsazen, ověří pravost balíčku, načte image, spustí kontejner a počká, dokud nenahlásí zdravý stav — bez dotazů.

Linux

bash install-docker.sh --auto

macOS

bash install-docker.sh --auto

Pro instalaci Docker Desktop používá Homebrew, pokud chybí.

Windows

install-auto.bat

nebo: powershell -ExecutionPolicy Bypass -File install-docker.ps1 -Auto

Nemáš licenci? Není problém

AITM obsahuje vestavěné 3-denní zkušební období — bez license klíče, bez konfigurace. Stačí spustit instalační příkaz výše. Podrobnosti viz Zkušební režim níže.

Vynech --auto/-Auto pro spuštění stejného scriptu interaktivně — zeptá se na admin token a port místo automatického rozhodnutí. Chceš porozumět každému kroku, nebo si chceš vše nastavit ručně? Postupuj podle manuálního průvodce níže, nebo přejdi rovnou na Pokročilé / Pro pokročilé uživatele pro úplný přehled proměnných .env.

01 Zkopíruj release na cílový počítač

Zkopíruj celou rozbalenou release složku — ne jen image tarball — na počítač, který bude spouštět AITM. Potřebuješ všechny tyto soubory pohromadě:

Soubor / složkaÚčel
install-docker.sh / .ps1 / .batInteraktivní Docker instalátor (kořen balíčku)
install-auto.batWindows one-click plně automatická instalace (bez dotazů)
install-docker-gitea.*Stejná instalace, navíc s bundlovaným Gitea git serverem (compose overlay)
docker/aitm-release-v<version>.tar.gzDocker image, exportovaný pomocí docker save
docker/docker-compose.ymlDefinice kontejneru — porty, svazky, healthcheck (instalátor přidává overlaye; needituj ručně)
docker/.env.exampleŠablona pro docker/.env, tvoji lokální konfiguraci
version.txt, build-info.json, RELEASE_OKRazítko verze a metadata buildu; balíček bez RELEASE_OK je nekompletní/vadný build — neinstaluj ho
# Příklad: zkopíruj přes SSH na vzdálený hostitel
scp -r aitm-release-v2.5.1/* user@target-host:/opt/aitm-install/

02 Konfiguruj .env

Uvnitř složky docker/ zkopíruj .env.example na .env, pak uprav hodnoty. Vše ostatní v souboru má bezpečné výchozí hodnoty. Automatický instalátor tento krok udělá za tebe.

Úplný seznam proměnných prostředí najdeš v sekci Pokročilé / Pro pokročilé uživatele níže.

03 Načti image a spusť kontejner

# Ze složky docker/:

# Načti Docker image
docker load -i aitm-release-v2.5.1.tar.gz

# Spusť kontejner
docker compose up -d

# Sleduj, jak se spouští
docker compose logs -f

Hledej tento řádek v logech — znamená, že server přijímá připojení:

[AITM] URL : http://localhost:3333
Ověření pravosti balíčku

Automatický instalátor ověří kontrolní součty balíčku ještě před načtením image — ve výchozím stavu stáhne podepsaný manifest z https://www.aitm.cz/releases/ přes TLS. Předej --offline pro ověření podle podepsaného manifestu dodaného přímo v balíčku (bez síťového volání), nebo --skip-verify pro úplné přeskočení ověření (nedoporučeno). Selhání ověření instalaci přeruší, pokud jsi explicitně nepředal --skip-verify.

Perzistence dat

Právě tři pojmenované svazky uchovávají vše, co musí přežít restart nebo upgrade: aitm-data (SQLite databáze, šifrovaný config, data úloh a server/pipeline logy — samotný stav aplikace, tenhle zálohuj), aitm-home (stav licence a identita zařízení — malý, ale smazáním se vynutí re-aktivace a spotřebuje se aktivační slot), a aitm-worktrees (probíhající pipeline git worktrees — velký, ale rekonstruovatelný z gitu, bezpečné vynechat ze záloh a smazat první při nedostatku místa). Nikdy nespouštěj docker compose down -v, pokud si nechceš smazat aktivaci licence a celou historii úloh.

04 První spuštění v prohlížeči

  1. Otevři http://<host-ip>:3333 (nebo http://localhost:3333, pokud běží lokálně).
  2. Jdi do Nastavení → Licence a aktivuj svůj license klíč, nebo spusť bezplatný 3-denní zkušební režim (viz Zkušební režim níže).
  3. Jdi do Nastavení → Poskytovatelé a zadej API klíč svého AI poskytovatele (Anthropic / OpenAI / Gemini). Dokud není aktivována licence nebo zkušební režim, všechny /api/* požadavky vrací HTTP 423 — to je očekávané chování.

Zkušební režim (3 dny)

AITM obsahuje vestavěný 3-denní zkušební režim, který nevyžaduje žádný license klíč. Během zkušebního období máš přístup k:

FunkcePřístup ve zkušebním režimuPoznámky
Dashboard & UI✓ PlnýVšechny pohledy, správa úloh, nastavení
AI Pipeline✓ PlnýNeomezené souběžné úlohy (respektuje systémové prostředky)
Nastavení providera✓ PlnýPřipoj jakéhokoliv poskytovatele: Anthropic, OpenAI, Gemini, Ollama, atd.
Šablony projektů✓ PlnýVšechny kategorie šablon dostupné
Git integrace✓ PlnýKlonování, push, merge, worktrees
Export úloh✓ PlnýCSV, JSON; spuštění na vyžádání
Přizpůsobení domény✗ Pouze čteníZobrazení předkonfigurovaných domén, nelze přidávat nové
Sloty více projektůOmezenoAž 3 souběžné projekty (licence vyžadována pro neomezené)
Zálohování & obnovení✓ PlnýPouze lokální zálohování (cloudová synchronizace vyžaduje licenci)

Spuštění zkušebního období

  1. Při prvním přihlášení jdi do Nastavení → Licence.
  2. Klikni na Spustit bezplatné 3-denní zkušební období.
  3. Zkušební období se spustí okamžitě a vyprší za 72 hodin.
  4. Není vyžadována registrace e-mailem nebo účtu — aktivace zařízení je pouze lokální.
Co se stane po vypršení zkušebního období

Po 3 dnech uvidíš upozornění v UI, ale stále můžete prohlížet své projekty a archivované úlohy. Chcete-li pokračovat v spouštění nových úloh, musíte si koupit licenci nebo prodloužit zkušební období (můžete aktivovat další zkušební období po 24-hodinové čekací lhůtě, max. 3 zkušební období na zařízení).


Správa služby

docker compose stopZastavit kontejner. Data se zachovávají.
docker compose startSpustit jej znovu.
docker compose restartRestartovat bez vytvoření nového kontejneru.
docker compose downZastavit a odebrat kontejner. Pojmenované svazky se zachovávají.
docker compose logs -fSledovat živé logy.
docker compose psZkontrolovat stav kontejneru a health.

Aktualizace na nový release

Zkopíruj nový release balíček přes starou instalační složku a znovu spusť stejný instalátor (bash install-docker.sh --auto / install-auto.bat / install-docker.ps1 -Auto). Automaticky detekuje existující instalaci a přepne do režimu aktualizace: vypíše Upgrading AITM <old> -> <new>, zachová tvůj stávající docker/.env (admin token a port beze změny), znovu použije existující pojmenované svazky a nahradí jen image a znovu vytvoří kontejner.

Instalátor odmítne nainstalovat balíček starší, než je aktuálně nasazená verze (porovnáno přes AITM_VERSION v docker/.env, nebo dotazem na GET /api/version u běžícího kontejneru) — pro přebití použij --force-downgrade (bash) / -ForceDowngrade (PowerShell).

Pro ruční aktualizaci místo toho: načti nový image (docker load -i aitm-release-v<new-version>.tar.gz, nahrazující lokální tag aitm:release) a spusť znovu docker compose up -d, aby se kontejner znovu vytvořil. Stávající data svazky nejsou dotčeny — aktivace licence a historie úloh se přenesou.

Bezpečnost a izolace

AITM běží kompletně uvnitř svého Docker kontejneru, izolovaně od hostitelského systému. AI agent se nemůže dostat k souborům ani procesům na hostitelském počítači mimo svazky a cesty, které do kontejneru explicitně připojíš.

  • Požadavek na hostitele: Docker Engine (nebo Docker Desktop) musí být na hostiteli již nainstalován — instalátor jej ověří/nainstaluje, ale nenahrazuje řádné nastavení Dockeru.
  • Podporovaný operační systém: AITM je navržen a testován pro běh na Ubuntu Linux. Jiné platformy (macOS, Windows přes WSL2) mohou fungovat přes Docker Desktop, ale nejsou primárním cílem.
  • Mezi kontejnerem a hostitelem jsou sdílené pouze tři pojmenované svazky popsané v kroku 3 (aitm-data, aitm-home, aitm-worktrees) a exponovaný port — vše ostatní zůstává uvnitř hranice kontejneru.

Pokročilé / Pro pokročilé uživatele

Rychlá instalace v horní části této stránky pokrývá vše, co potřebuje většina instalací. Tabulka níže dokumentuje každou proměnnou docker/.env pro pokročilou nebo ruční konfiguraci.

ProměnnáPovinnéCo nastavit
AITM_ADMIN_TOKENAnoSilný náhodný řetězec — vygeneruj pomocí openssl rand -hex 32, nebo nech vygenerovat --auto/-Auto. Používá se pro healthcheck a /api/admin/* endpointy (hlavička X-AITM-Admin-Token).
AITM_PORTNePort hostitele pro binding (výchozí 3333). Automatický instalátor sám vybere volný, pokud je 3333 už používán.
AITM_MCP_TOKENJen pro volitelný MCP sidecarBearer token pro vzdálený MCP přístup, pokud je tato varianta nasazená.
GIT_AUTHOR_NAME / GIT_AUTHOR_EMAILNeGit identita používaná pro pipeline commity v worktrees. Výchozí: AITM / aitm@localhost.
AITM_VERSIONNe — spravováno automatickyZapisuje instalátor z version.txt při každé instalaci/aktualizaci; používá se pojistkou proti downgrade (instalace staršího balíčku, než je nasazený, je odmítnuta, pokud nepoužiješ --force-downgrade/-ForceDowngrade).

API klíče providera a AITM license klíč se nenastavují v .env — zadáš je v aplikaci po prvním spuštění (viz krok 4).

Řešení problémů

Docker Desktop se nespustí na Windows

Pokud docker info selže s failed to connect to the docker API at npipe:////./pipe/dockerDesktopLinuxEngine, backend služba ještě neběží — spuštění ikonky v tray samotné negarantuje inicializaci.

Get-Service com.docker.service
# Pokud je Stopped:
Start-Service com.docker.service
# Poté spusť Docker Desktop a počkej ~30-60s, kontroluj:
docker info

Kontejner se okamžitě ukončí s Cannot find module 'bindings'

Toto je vada balení v některých starších buildech: image chybí runtime závislost, kterou potřebuje šifrovací databázi driver. Zkontroluj docker logs <container> pro MODULE_NOT_FOUND s bindings v require stacku. Opraveno upstream — ujisti se, že jsi na nejnovějším release. Pokud jste uváznutí v postiženém buildu, chybějící balíčky jsou node_modules/bindings a node_modules/file-uri-to-path, které musí být vedle node_modules/better-sqlite3-multiple-ciphers v image.

Kontejner se ukončí s chybou NODE_MODULE_VERSION

Zpráva jako was compiled against a different Node.js version using NODE_MODULE_VERSION 137. This version of Node.js requires NODE_MODULE_VERSION 108 znamená, že nativní databázi driver byl zkompilován vůči jiné Node.js ABI než ten zabalený v binary. Toto je vada build-pipeline, ne něco, co by se mělo opravovat per-instalaci — bude to vyžadovat opravený release build.

Kontejner ukazuje unhealthy v docker ps, ale aplikace funguje

Některé buildy se dodávají bez vnitřního binárního souboru aitm-ctl, kterého healthcheck kontejneru volá. Pokud se http://<host>:3333 načte dobře a curl -H "X-AITM-Admin-Token: <token>" http://localhost:3333/api/admin/health vrátí {"status":"healthy",...}, aplikace samotná je v pořádku — pouze stav health hlášený Dockerem je špatný. Bezpečné ignorovat, dokud se nevydá opravený release; neovlivňuje chování restart: unless-stopped.

Aktivace licence vrací chybu

Aktivace licence probíhá kompletně v UI a automaticky komunikuje s vestavěným license serverem AITM. Pokud aktivace selže, zkontroluj, že kontejner má odchozí přístup k internetu a že je tvůj license klíč správný.

Port 3333 je již používán

Nastav AITM_PORT=<free-port> v .env a znovu spusť docker compose up -d.

Zkušební režim se nespustí — říká, že zařízení je již aktivováno

Každé zařízení může aktivovat pouze jedno zkušební období najednou. Pokud vypršelo tvé zkušební období a jsi v 24hodinové čekací lhůtě, musíš čekat, než spustíš nové. Chcete-li zkontrolovat stav aktivace zařízení, jdi do Nastavení → Licence → Info zařízení.