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.
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-linuxbackend, 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žkudocker/s image tarballem a compose soubory, získaná z AITM Release Manager výstupu.
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
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 / .bat | Interaktivní Docker instalátor (kořen balíčku) |
install-auto.bat | Windows 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.gz | Docker image, exportovaný pomocí docker save |
docker/docker-compose.yml | Definice 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_OK | Razí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
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.
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
- Otevři
http://<host-ip>:3333(nebohttp://localhost:3333, pokud běží lokálně). - 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).
- 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:
| Funkce | Přístup ve zkušebním režimu | Pozná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ů | Omezeno | Až 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í
- Při prvním přihlášení jdi do Nastavení → Licence.
- Klikni na Spustit bezplatné 3-denní zkušební období.
- Zkušební období se spustí okamžitě a vyprší za 72 hodin.
- Není vyžadována registrace e-mailem nebo účtu — aktivace zařízení je pouze lokální.
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 stop | Zastavit kontejner. Data se zachovávají. |
docker compose start | Spustit jej znovu. |
docker compose restart | Restartovat bez vytvoření nového kontejneru. |
docker compose down | Zastavit a odebrat kontejner. Pojmenované svazky se zachovávají. |
docker compose logs -f | Sledovat živé logy. |
docker compose ps | Zkontrolovat 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_TOKEN | Ano | Silný 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_PORT | Ne | Port hostitele pro binding (výchozí 3333). Automatický instalátor sám vybere volný, pokud je 3333 už používán. |
AITM_MCP_TOKEN | Jen pro volitelný MCP sidecar | Bearer token pro vzdálený MCP přístup, pokud je tato varianta nasazená. |
GIT_AUTHOR_NAME / GIT_AUTHOR_EMAIL | Ne | Git identita používaná pro pipeline commity v worktrees. Výchozí: AITM / aitm@localhost. |
AITM_VERSION | Ne — spravováno automaticky | Zapisuje 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í.