Naar inhoud springen
PentAGI
Implementatie

Upgraden

Werk een installatie bij naar een nieuwe release en bekijk wat je moet wijzigen bij de overstap van 2.1.0 naar 2.2.0.

Een update vervangt de PentAGI-images en, wanneer de release ze heeft gewijzigd, de compose-bestanden. Je .env en de datavolumes blijven behouden, en databasemigraties worden uitgevoerd wanneer PentAGI start.

Voordat je begint

  • Lees de release-opmerkingen van elke versie na degene die je draait; sinds 2.1.0 bevatten ze upgrade-instructies.

  • Maak een back-up van de database. Zowel de installer als PentAGI doet dit niet, en migraties kunnen niet worden teruggedraaid zonder gegevensverlies. Met de standaard PENTAGI_POSTGRES_USER en PENTAGI_POSTGRES_DB:

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

    Bewaar ook kopieën van .env en de compose-bestanden: de installer vervangt compose-bestanden zonder back-up.

  • Rond de flows af die je niet langer nodig hebt. Een sandbox die nog draait, wordt hergebruikt zoals deze is gemaakt, met de instellingen van de release die deze heeft aangemaakt.

  • Als je komt vanaf 2.1.0, pas dan de wijzigingen in Van 2.1.0 naar 2.2.0 toe op .env en de bestanden ernaast voordat de nieuwe release start. Met Google- of GitHub-aanmelding ingeschakeld, maak OAUTH_GOOGLE_CLIENT_ID en OAUTH_GITHUB_CLIENT_ID nu leeg; de sectie legt uit waarom.

Docker Compose

  1. Download de compose-bestanden van de nieuwe release naast je .env: docker-compose.yml en het bestand van elke optionele stack die je draait. De PentAGI-container ontvangt alleen de variabelen die in het bijbehorende compose-bestand staan vermeld, dus nieuwe instellingen in .env hebben geen effect achter een ouder bestand.

    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. Haal de images op en start opnieuw, met dezelfde -f-bestanden waarmee je de stack start. Zonder pull houdt up -d de images die al op de host staan.

    docker compose pull && docker compose up -d
  3. Vernieuw de sandbox-image op de Docker-host die de flows draait, wat docker compose pull niet doet. Flows die daarna worden gemaakt, gebruiken deze.

    docker pull vxcontrol/kali-linux

De latest-imagetag volgt de main-branch. Om op één release te blijven, stel je PENTAGI_IMAGE=vxcontrol/pentagi:<version> in in .env.

Installer

  1. Download de installer van de nieuwe release van Quick start en voer deze uit met je .env. De 2.1.0-installer kan zichzelf niet updaten.
  2. Om de compose-bestanden te vervangen, wijzig je een instelling zodat Apply Changes in het menu verschijnt, kies deze optie en beantwoord y wanneer de installer de verouderde bestanden opsomt.
  3. Voer in het onderhoudsmenu Update PentAGI uit om de nieuwe images op te halen, en Update Worker Image wanneer dit wordt aangeboden. Update PentAGI op zich behoudt de oude compose-bestanden.

Van 2.1.0 naar 2.2.0

Bestanden

  • Het compose-bestand koppelt example.bedrock.provider.yml ernaast. De installer maakt dit aan; bij een handmatige installatie maak je het zelf aan, een leeg bestand is voldoende: touch example.bedrock.provider.yml.
  • Vervang docker-compose-langfuse.yml als je Langfuse draait: het 2.1.0-bestand verwijst naar de minio/minio-image, die niet meer wordt gepubliceerd, waardoor docker compose pull hiermee faalt. Als je .env MINIO_IMAGE=minio/minio:… instelt, verwijder dan die regel.
  • Voor de knowledge graph plaats je examples/neo4j uit de repository op ./neo4j — Graphiti heeft zijn APOC-plugin nodig — en zie Memory and knowledge voor de modelpresets. GRAPHITI_MODEL_NAME wordt niet langer gelezen.
  • Acht databasemigraties worden uitgevoerd bij de eerste start. docker compose logs pentagi toont "Database schema updated successfully" wanneer deze klaar zijn.

Aanmelden en toegang

  • Iedereen moet opnieuw aanmelden: sessies van 2.1.0 worden geweigerd. API-tokens blijven werken, en scripts melden zich af met POST /api/v1/auth/logout.
  • Een API-token krijgt een 403-fout op de REST-routes /users, /roles en /tokens: beheer accounts, rollen en tokens vanuit een aangemelde browsersessie.
  • Aanmelden via Google en GitHub meldt nu een door de provider geverifieerd e-mailadres aan bij het bestaande account met dat adres, inclusief lokale accounts, met de rol van dat account. 2.1.0 kan het e-mailadres van een account niet wijzigen, dus als aanmelden is ingeschakeld, upgrade dan met OAUTH_GOOGLE_CLIENT_ID en OAUTH_GITHUB_CLIENT_ID leeg, verplaats [email protected] naar een adres dat je beheert onder Settings → Account, en schakel aanmelden vervolgens weer in. De Reset Admin Password van de installer vindt de administrator alleen via [email protected].
  • Achter een reverse proxy stel je TRUSTED_PROXIES in, anders delen alle gebruikers het IP-adres van de proxy en sluit één reeks mislukte aanmeldpogingen iedereen 15 minuten buiten — zie Network exposure.

Sandboxes

  • Met DOCKER_INSIDE=true — de 2.1.0 .env-template en installerstandaard — koppelde 2.1.0 de host Docker-socket in elke sandbox. 2.2.0 geeft agents Docker-toegang alleen via een aparte daemon-set in DOCKER_INSIDE_HOST; zonder deze krijgen ze geen toegang, en het logboek vermeldt sandbox DISABLED. Met DOCKER_INSIDE_HOST stel je DOCKER_SOCKET= leeg in, anders wordt de /var/run/docker.sock van de template nog steeds gekoppeld. Zie Worker node.
  • Rond de flows af die zijn gestart op 2.1.0: hun sandboxes behouden de oude socket-koppeling en mogelijkheden totdat de flow is voltooid.
  • Laat TENANT_ID leeg: op een bestaande installatie wijst dit PentAGI naar een nieuw, leeg schema.

Modellen en prompts

  • De custom provider vereist LLM_SERVER_KEY: met een lege sleutel is deze uitgeschakeld, dus stel voor een server zonder authenticatie een willekeurige niet-lege waarde in.
  • LLM_SERVER_LEGACY_REASONING is verwijderd. De custom provider stuurt reasoning_effort en zet een reasoning.max_tokens-budget om in een effort level; op Kimi K2, GLM vóór 5.2 en MiniMax M-modellen zorgt een budget nu voor een mislukte call, dus verwijder het bij die agents.
  • In providerconfiguratiebestanden krijgt een agent-entry die max_tokens, temperature, top_p of n leeg laat nu de standaarden van het providertype in plaats van niets te verzenden.
  • Ingebouwde standaardmodellen zijn gewijzigd voor elke provider behalve Bedrock; providers die zijn opgeslagen in Settings → Providers behouden hun modellen. Vijf configuraties die in de image zijn gebundeld, hebben gewijzigde modellen — openrouter, deepinfra, ollama-cloud, moonshot en deepseek. Als LLM_SERVER_CONFIG_PATH of OLLAMA_SERVER_CONFIG_PATH naar een van deze verwijst onder /opt/pentagi/conf/, bewaar dan het 2.1.0-bestand op de host en koppel het als de custom- of Ollama-configuratie.
  • Met EMBEDDING_URL op een andere server dan die van OpenAI, stel je EMBEDDING_KEY in: OPEN_AI_KEY wordt daar niet langer verzonden.
  • Agents zoeken via één web_search-tool. Custom prompts met {{.GoogleToolName}} en de andere per-engine variabelen worden genegeerd, met een waarschuwing in het logboek, totdat ze {{.WebSearchToolName}} gebruiken; baseer custom searcher- en pentester-prompts opnieuw op de nieuwe standaarden.

Andere wijzigingen

  • Binnen twee minuten na het starten en daarna elke drie uur rapporteert PentAGI zijn versie en een samenvatting van de installatie aan update.pentagi.com; Update check somt op wat wordt verzonden, en UPDATE_CHECK_INTERVAL=0 schakelt dit uit.
  • De profiler luistert niet langer op poort 7777 tenzij PPROF_ADDR is ingesteld.
  • Nieuwe optionele instellingen omvatten provider failover met LLM_FALLBACK_PROVIDER, DOCKER_PORTS_BASE voor several instances, DOCKER_IMAGE_SELECTION_MODE en DOCKER_ALLOWED_IMAGES, de interne search engine WEB_SEARCH_INTERNAL_ENABLED, en de Mistral-, xAI-, MiniMax- en Firecrawl-sleutels.

Back-up en rollback

PentAGI voert migraties nooit achterstevoren uit, en handmatig uitvoeren verwijdert gegevens, dus de weg terug naar 2.1.0 is de back-up. Stop de services die de database gebruiken, maak deze opnieuw aan en herstel de dump:

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

Plaats daarna de opgeslagen .env en compose-bestanden terug, stel PENTAGI_IMAGE=vxcontrol/pentagi:2.1.0 in en start de stack. Behoud de nieuwe docker-compose-langfuse.yml: de MinIO-image van het 2.1.0-bestand kan niet meer worden opgehaald.

Laatst bijgewerkt op