# Aktualizace

> Aktualizace instalace na nové vydání a změny při přechodu z verze 2.1.0 na 2.2.0.

Aktualizace nahrazuje obrazy PentAGI a v případě, že je vydání změnilo, také soubory compose. Vaše `.env` a datové svazky zůstávají zachovány a migrace databáze se spustí při startu PentAGI.

## [Než začnete](https://pentagi.com/cs/docs/deployment/upgrade/#before-you-start)

* Přečtěte si [poznámky k vydání](https://pentagi.com/changelog/) každé verze po té, kterou používáte; od verze 2.1.0 obsahují poznámky k aktualizaci.
* Zálohujte databázi. Ani instalátor, ani PentAGI to nedělají a migrace nelze vrátit zpět bez ztráty dat. Při výchozím `PENTAGI_POSTGRES_USER` a `PENTAGI_POSTGRES_DB`:

  ```bash
  docker exec pgvector pg_dump -U postgres -Fc pentagidb > pentagi-backup.dump
  ```

  Uchovávejte také kopie `.env` a souborů compose: instalátor nahrazuje soubory compose bez zálohy.
* Dokončete [flow](https://pentagi.com/cs/docs/glossary/#flow), které již nepotřebujete. [Sandbox](https://pentagi.com/cs/docs/glossary/#sandbox), který stále běží, je znovu použit tak, jak byl vytvořen, s nastavením vydání, které jej vytvořilo.
* Pokud přecházíte z verze 2.1.0, proveďte změny uvedené v [Z 2.1.0 na 2.2.0](#from-210-to-220) v `.env` a v souborech vedle něj před spuštěním nového vydání. Pokud je povoleno přihlašování přes Google nebo GitHub, nyní vyprázdněte `OAUTH_GOOGLE_CLIENT_ID` a `OAUTH_GITHUB_CLIENT_ID`; tato sekce vysvětluje proč.

## [Docker Compose](https://pentagi.com/cs/docs/deployment/upgrade/#docker-compose)

1. Stáhněte soubory compose nového vydání vedle vašeho `.env`: `docker-compose.yml` a soubor každého volitelného stacku, který provozujete. Kontejner PentAGI přijímá pouze proměnné uvedené v jeho souboru compose, takže nová nastavení v `.env` nemají za starším souborem žádný účinek.

   ```bash
   cd ~/pentagi
   curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose.yml
   # and the file of each optional stack you run, for example:
   curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose-langfuse.yml
   ```

2. Stáhněte obrazy a restartujte službu pomocí stejných souborů `-f`, které používáte ke spuštění stacku. Bez `pull` ponechává `up -d` obrazy již přítomné na hostiteli.

   ```bash
   docker compose pull && docker compose up -d
   ```

3. Aktualizujte obraz sandboxu na hostiteli Docker, který spouští flow, což `docker compose pull` nedělá. Flow vytvořené poté jej budou používat.

   ```bash
   docker pull vxcontrol/kali-linux
   ```

Tag obrazu `latest` sleduje hlavní větev. Chcete-li zůstat u jednoho vydání, nastavte `PENTAGI_IMAGE=vxcontrol/pentagi:<version>` v `.env`.

## [Instalátor](https://pentagi.com/cs/docs/deployment/upgrade/#installer)

1. Stáhněte instalátor nového vydání z [Rychlý start](https://pentagi.com/cs/docs/getting-started/quickstart/) a spusťte jej s vaším `.env`. Instalátor verze 2.1.0 neumí aktualizovat sám sebe.
2. Chcete-li nahradit soubory compose, změňte nastavení tak, aby se v nabídce zobrazilo **Apply Changes**, vyberte jej a odpovězte `y`, když instalátor vypíše zastaralé soubory.
3. V nabídce údržby spusťte **Update PentAGI** pro stažení nových obrazů a **Update Worker Image**, když je tato možnost nabídnuta. Samotné **Update PentAGI** ponechává staré soubory compose.

## [Z verze 2.1.0 na 2.2.0](https://pentagi.com/cs/docs/deployment/upgrade/#from-210-to-220)

### [Soubory](https://pentagi.com/cs/docs/deployment/upgrade/#files)

* Soubor compose připojuje `example.bedrock.provider.yml` vedle sebe. Instalátor jej vytvoří; při ruční instalaci jej vytvořte sami, prázdný soubor stačí: `touch example.bedrock.provider.yml`.
* Nahraďte `docker-compose-langfuse.yml`, pokud provozujete Langfuse: soubor verze 2.1.0 pojmenovává obraz `minio/minio`, který již není publikován, takže `docker compose pull` s ním selže. Pokud váš `.env` nastavuje `MINIO_IMAGE=minio/minio:…`, odstraňte tento řádek.
* Pro [knowledge graph](https://pentagi.com/cs/docs/glossary/#knowledge-graph) umístěte `examples/neo4j` z repozitáře na `./neo4j` — Graphiti potřebuje svůj plugin APOC — a model presets viz [Paměť a znalosti](https://pentagi.com/cs/docs/concepts/memory/#knowledge-graph-optional). `GRAPHITI_MODEL_NAME` se již nečte.
* Při prvním spuštění se spustí osm migrací databáze. `docker compose logs pentagi` zobrazí „Database schema updated successfully“, jakmile jsou dokončeny.

### [Přihlášení a přístup](https://pentagi.com/cs/docs/deployment/upgrade/#sign-in-and-access)

* Všichni se musí přihlásit znovu: relace z verze 2.1.0 jsou odmítnuty. API tokeny fungují nadále a skripty se odhlásí pomocí `POST /api/v1/auth/logout`.
* API token získá chybu 403 na REST routách `/users`, `/roles` a `/tokens`: účty, role a tokeny spravujte z přihlášené relace prohlížeče.
* Přihlášení přes Google a GitHub nyní podepisuje e-mail ověřený providerem do existujícího účtu s touto adresou, včetně lokálních účtů, s rolí tohoto účtu. Verze 2.1.0 nemůže změnit e-mail účtu, takže pokud je přihlášení zapnuto, proveďte upgrade s prázdnými `OAUTH_GOOGLE_CLIENT_ID` a `OAUTH_GITHUB_CLIENT_ID`, přesuňte `admin@pentagi.com` na adresu, kterou ovládáte, v části **Settings → Account**, a poté přihlášení znovu zapněte. Funkce **Reset Admin Password** instalátoru najde administrátora pouze podle `admin@pentagi.com`.
* Za reverzním proxy serverem nastavte `TRUSTED_PROXIES`, jinak všichni uživatelé sdílejí adresu proxy a jeden nával neúspěšných přihlášení zablokuje všechny na 15 minut — viz [Expozice sítě](https://pentagi.com/cs/docs/configuration/security/#network-exposure).

### [Sandboxes](https://pentagi.com/cs/docs/deployment/upgrade/#sandboxes)

* S `DOCKER_INSIDE=true` — výchozí šablonou `.env` verze 2.1.0 a výchozím nastavením instalátoru — verze 2.1.0 připojovala socket Docker hostitele do každého sandboxu. Verze 2.2.0 poskytuje agentům Docker pouze z odděleného daemon setu v `DOCKER_INSIDE_HOST`; bez něj žádný Docker nezískají a log hlásí `sandbox DISABLED`. S `DOCKER_INSIDE_HOST` nastavte `DOCKER_SOCKET=` jako prázdné, jinak bude stále připojen `/var/run/docker.sock` ze šablony. Viz [Worker node](https://pentagi.com/cs/docs/deployment/worker-node/).
* Dokončete flow spuštěné na verzi 2.1.0: jejich sandboxes si ponechávají staré připojení socketu a oprávnění, dokud není flow dokončeno.
* Ponechte `TENANT_ID` prázdné: na existující instalaci směřuje PentAGI na nové, prázdné schéma.

### [Modely a prompty](https://pentagi.com/cs/docs/deployment/upgrade/#models-and-prompts)

* Custom [provider](https://pentagi.com/cs/docs/glossary/#provider) potřebuje `LLM_SERVER_KEY`: s prázdným klíčem je deaktivován, takže pro server bez autentizace nastavte libovolnou neprázdnou hodnotu.
* `LLM_SERVER_LEGACY_REASONING` je odstraněn. Custom provider posílá `reasoning_effort` a převádí rozpočet `reasoning.max_tokens` na úroveň úsilí; u modelů Kimi K2, GLM před verzí 5.2 a MiniMax M nyní rozpočet způsobí selhání volání, takže jej z těchto agentů odstraňte.
* V konfiguračních souborech provideru získá záznam agenta, který ponechává `max_tokens`, `temperature`, `top_p` nebo `n` prázdné, nyní výchozí hodnoty typu provideru místo toho, aby nic neposílal.
* Vestavěné výchozí modely se změnily pro každého provideru kromě Bedrock; providery uložené v **Settings → Providers** si své modely ponechávají. Pět konfigurací zabalených v obraze změnilo modely — `openrouter`, `deepinfra`, `ollama-cloud`, `moonshot` a `deepseek`. Pokud `LLM_SERVER_CONFIG_PATH` nebo `OLLAMA_SERVER_CONFIG_PATH` míří na jednu z nich pod `/opt/pentagi/conf/`, ponechte soubor verze 2.1.0 na hostiteli a připojte jej jako custom nebo Ollama konfiguraci.
* S `EMBEDDING_URL` na serveru jiném než OpenAI nastavte `EMBEDDING_KEY`: `OPEN_AI_KEY` se tam již neposílá.
* Agenti hledají prostřednictvím jednoho nástroje `web_search`. Custom prompty s `{{.GoogleToolName}}` a dalšími proměnnými pro jednotlivé enginy jsou ignorovány s upozorněním v logu, dokud nepoužijí `{{.WebSearchToolName}}`; upravte custom prompty pro searcher a pentester podle nových výchozích hodnot.

### [Další změny](https://pentagi.com/cs/docs/deployment/upgrade/#other-changes)

* Během dvou minut od spuštění a poté každé tři hodiny PentAGI reportuje svou verzi a souhrn instalace do `update.pentagi.com`; [Kontrola aktualizací](https://pentagi.com/cs/docs/configuration/security/#update-check) uvádí, co odesílá, a `UPDATE_CHECK_INTERVAL=0` tuto funkci vypne.
* Profiler již neposlouchá na portu 7777, pokud není nastaveno `PPROF_ADDR`.
* Mezi nová volitelná nastavení patří [failover provideru](https://pentagi.com/cs/docs/configuration/llm-providers/#failover) s `LLM_FALLBACK_PROVIDER`, `DOCKER_PORTS_BASE` pro [několik instancí](https://pentagi.com/cs/docs/deployment/production/#several-instances-tenant_id), `DOCKER_IMAGE_SELECTION_MODE` a `DOCKER_ALLOWED_IMAGES`, interní [search engine](https://pentagi.com/cs/docs/glossary/#search-engine) `WEB_SEARCH_INTERNAL_ENABLED` a klíče pro Mistral, xAI, MiniMax a Firecrawl.

## [Záloha a návrat zpět](https://pentagi.com/cs/docs/deployment/upgrade/#back-up-and-roll-back)

PentAGI nikdy neprovádí migrace zpět a jejich ruční spuštění smaže data, takže cestou zpět k verzi 2.1.0 je záloha. Zastavte služby, které používají databázi, znovu ji vytvořte a obnovte dump:

```bash
docker compose stop pentagi pgexporter
docker exec pgvector dropdb -U postgres pentagidb
docker exec pgvector createdb -U postgres pentagidb
docker exec -i pgvector pg_restore -U postgres -d pentagidb < pentagi-backup.dump
```

Poté vraťte uložený `.env` a soubory compose, nastavte `PENTAGI_IMAGE=vxcontrol/pentagi:2.1.0` a spusťte stack. Ponechte nový `docker-compose-langfuse.yml`: obraz MinIO ze souboru verze 2.1.0 již nelze stáhnout.