Zum Inhalt springen
PentAGI
Bereitstellung

Upgrade

Aktualisieren Sie eine Installation auf eine neue Version und erfahren Sie, was Sie beim Wechsel von 2.1.0 auf 2.2.0 ändern müssen.

Ein Update ersetzt die PentAGI-Images und, wenn das Release sie geändert hat, die Compose-Dateien. Ihre .env und die Datenvolumes bleiben erhalten, und Datenbankmigrationen werden beim Start von PentAGI ausgeführt.

Bevor Sie beginnen

  • Lesen Sie die Versionshinweise jeder Version nach der von Ihnen verwendeten; seit 2.1.0 enthalten sie Upgrade-Hinweise.

  • Sichern Sie die Datenbank. Weder der Installer noch PentAGI führt dies durch, und Migrationen können nicht ohne Datenverlust rückgängig gemacht werden. Mit den Standardwerten PENTAGI_POSTGRES_USER und PENTAGI_POSTGRES_DB:

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

    Bewahren Sie auch Kopien von .env und den Compose-Dateien auf: Der Installer ersetzt Compose-Dateien ohne Sicherung.

  • Schließen Sie die Flows ab, die Sie nicht mehr benötigen. Eine Sandbox, die noch läuft, wird so wiederverwendet, wie sie erstellt wurde, mit den Einstellungen des Releases, das sie erstellt hat.

  • Wenn Sie von 2.1.0 kommen, nehmen Sie die Änderungen in Von 2.1.0 zu 2.2.0 an .env und den daneben liegenden Dateien vor, bevor das neue Release startet. Bei aktivierter Anmeldung über Google oder GitHub leeren Sie jetzt OAUTH_GOOGLE_CLIENT_ID und OAUTH_GITHUB_CLIENT_ID; der Abschnitt erklärt, warum.

Docker Compose

  1. Laden Sie die Compose-Dateien des neuen Releases neben Ihre .env herunter: docker-compose.yml und die Datei jedes optionalen Stacks, den Sie ausführen. Der PentAGI-Container erhält nur die Variablen, die seine Compose-Datei auflistet, daher haben neue Einstellungen in .env hinter einer älteren Datei keine Wirkung.

    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. Pullen Sie die Images und starten Sie neu, mit denselben -f-Dateien, mit denen Sie den Stack starten. Ohne pull behält up -d die bereits auf dem Host vorhandenen Images.

    docker compose pull && docker compose up -d
  3. Aktualisieren Sie das Sandbox-Image auf dem Docker-Host, der die Flows ausführt, was docker compose pull nicht tut. Danach erstellte Flows verwenden es.

    docker pull vxcontrol/kali-linux

Der latest-Image-Tag folgt dem main-Branch. Um bei einem Release zu bleiben, setzen Sie PENTAGI_IMAGE=vxcontrol/pentagi:<version> in .env.

Installer

  1. Laden Sie den Installer des neuen Releases von Schnellstart herunter und führen Sie ihn mit Ihrer .env aus. Der Installer 2.1.0 kann sich nicht selbst aktualisieren.
  2. Um die Compose-Dateien zu ersetzen, ändern Sie eine Einstellung, sodass Apply Changes im Menü erscheint, wählen Sie es aus und antworten Sie mit y, wenn der Installer die veralteten Dateien auflistet.
  3. Führen Sie im Wartungsmenü Update PentAGI aus, um die neuen Images zu pullen, und Update Worker Image, wenn es angeboten wird. Update PentAGI allein behält die alten Compose-Dateien.

Von 2.1.0 auf 2.2.0

Dateien

  • Die Compose-Datei bindet example.bedrock.provider.yml daneben ein. Der Installer erstellt sie; bei einer manuellen Installation erstellen Sie sie selbst, eine leere Datei reicht aus: touch example.bedrock.provider.yml.
  • Ersetzen Sie docker-compose-langfuse.yml, wenn Sie Langfuse ausführen: Die Datei 2.1.0 benennt das minio/minio-Image, das nicht mehr veröffentlicht wird, sodass docker compose pull damit fehlschlägt. Wenn Ihre .env MINIO_IMAGE=minio/minio:… setzt, entfernen Sie diese Zeile.
  • Legen Sie für den Knowledge Graph examples/neo4j aus dem Repository unter ./neo4j ab — Graphiti benötigt sein APOC-Plugin — und sehen Sie Speicher und Wissen für die Modell-Presets. GRAPHITI_MODEL_NAME wird nicht mehr gelesen.
  • Acht Datenbankmigrationen werden beim ersten Start ausgeführt. docker compose logs pentagi zeigt „Database schema updated successfully“ an, wenn sie abgeschlossen sind.

Anmeldung und Zugriff

  • Jeder muss sich erneut anmelden: Sitzungen aus 2.1.0 werden abgelehnt. API-Tokens funktionieren weiterhin, und Skripte melden sich mit POST /api/v1/auth/logout ab.
  • Ein API-Token erhält 403 auf den REST-Routen /users, /roles und /tokens: Verwalten Sie Konten, Rollen und Tokens über eine angemeldete Browsersitzung.
  • Die Anmeldung mit Google und GitHub meldet nun eine vom Provider verifizierte E-Mail-Adresse im bestehenden Konto mit dieser Adresse an, einschließlich lokaler Konten, mit der Rolle dieses Kontos. 2.1.0 kann die E-Mail-Adresse eines Kontos nicht ändern. Wenn die Anmeldung aktiviert ist, aktualisieren Sie daher mit leerem OAUTH_GOOGLE_CLIENT_ID und OAUTH_GITHUB_CLIENT_ID, verschieben Sie [email protected] unter Settings → Account auf eine Adresse, die Sie kontrollieren, und schalten Sie die Anmeldung dann wieder ein. Die Option Reset Admin Password des Installers findet den Administrator nur über [email protected].
  • Hinter einem Reverse-Proxy setzen Sie TRUSTED_PROXIES, sonst teilen sich alle Nutzer die Adresse des Proxys und eine Häufung fehlgeschlagener Anmeldesperrt jeden für 15 Minuten aus — siehe Netzwerkexposition.

Sandboxes

  • Mit DOCKER_INSIDE=true — der Vorlage .env von 2.1.0 und Installer-Standard — mountete 2.1.0 den Docker-Socket des Hosts in jede Sandbox. 2.2.0 gibt Agents Docker nur über einen separaten Daemon-Set in DOCKER_INSIDE_HOST; ohne diesen erhalten sie keinen Zugriff, und das Log sagt sandbox DISABLED. Bei DOCKER_INSIDE_HOST setzen Sie DOCKER_SOCKET= leer, sonst wird die /var/run/docker.sock der Vorlage weiterhin gemountet. Siehe Worker-Knoten.
  • Schließen Sie die auf 2.1.0 gestarteten Flows ab: Ihre Sandboxes behalten die alte Socket-Mounting und Fähigkeiten, bis der Flow abgeschlossen ist.
  • Lassen Sie TENANT_ID leer: Auf einer bestehenden Installation zeigt es PentAGI auf ein neues, leeres Schema.

Modelle und Prompts

  • Der benutzerdefinierte Provider benötigt LLM_SERVER_KEY: Mit einem leeren Schlüssel ist er deaktiviert, setzen Sie also für einen Server ohne Authentifizierung einen beliebigen nicht-leeren Wert.
  • LLM_SERVER_LEGACY_REASONING wurde entfernt. Der benutzerdefinierte Provider sendet reasoning_effort und wandelt ein reasoning.max_tokens-Budget in ein Effort-Level um; bei Kimi K2, GLM vor 5.2 und MiniMax M-Modellen führt ein Budget jetzt zum Fehlschlagen des Aufrufs, entfernen Sie es also von diesen Agents.
  • In Provider-Konfigurationsdateien erhält ein Agent-Eintrag, der max_tokens, temperature, top_p oder n leer lässt, nun die Standards des Provider-Typs, statt nichts zu senden.
  • Die integrierten Standardmodelle haben sich für jeden Provider außer Bedrock geändert; in Settings → Providers gespeicherte Provider behalten ihre Modelle. Fünf im Image gebündelte Konfigurationen haben Modelle geändert — openrouter, deepinfra, ollama-cloud, moonshot und deepseek. Wenn LLM_SERVER_CONFIG_PATH oder OLLAMA_SERVER_CONFIG_PATH unter /opt/pentagi/conf/ auf eine davon verweist, behalten Sie die Datei 2.1.0 auf dem Host und mounten Sie sie stattdessen als benutzerdefinierte oder Ollama-Konfiguration.
  • Setzen Sie bei EMBEDDING_URL auf einem anderen Server als dem von OpenAI EMBEDDING_KEY: OPEN_AI_KEY wird dort nicht mehr gesendet.
  • Agents suchen über ein einziges web_search-Tool. Benutzerdefinierte Prompts mit {{.GoogleToolName}} und den anderen pro-engine-Variablen werden ignoriert, mit einer Warnung im Log, bis sie {{.WebSearchToolName}} verwenden; passen Sie benutzerdefinierte searcher- und pentester-Prompts an die neuen Standards an.

Weitere Änderungen

  • Innerhalb von zwei Minuten nach dem Start und dann alle drei Stunden meldet PentAGI seine Version und eine Zusammenfassung der Installation an update.pentagi.com; Update-Prüfung listet auf, was gesendet wird, und UPDATE_CHECK_INTERVAL=0 schaltet es aus.
  • Der Profiler hört nur dann auf Port 7777, wenn PPROF_ADDR gesetzt ist.
  • Neue optionale Einstellungen umfassen Provider-Failover mit LLM_FALLBACK_PROVIDER, DOCKER_PORTS_BASE für mehrere Instanzen, DOCKER_IMAGE_SELECTION_MODE und DOCKER_ALLOWED_IMAGES, die interne Search Engine WEB_SEARCH_INTERNAL_ENABLED sowie die Schlüssel für Mistral, xAI, MiniMax und Firecrawl.

Sichern und Zurücksetzen

PentAGI führt Migrationen niemals rückwärts aus, und das manuelle Ausführen löscht Daten, daher ist der Weg zurück zu 2.1.0 das Backup. Stoppen Sie die Dienste, die die Datenbank verwenden, erstellen Sie sie neu und stellen Sie den Dump wieder her:

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

Stellen Sie dann die gesicherten .env und Compose-Dateien wieder her, setzen Sie PENTAGI_IMAGE=vxcontrol/pentagi:2.1.0 und starten Sie den Stack. Behalten Sie das neue docker-compose-langfuse.yml bei: Das MinIO-Image der 2.1.0-Datei kann nicht mehr gepullt werden.

Zuletzt aktualisiert am