Produktion
PentAGI für ein Team betreiben – Härtung, Isolation, Podman und mehrere Instanzen.
Checkliste
- Legen Sie alle Zugangsdaten, einschließlich
COOKIE_, vor dem ersten Start fest — siehe Sicherheit. Der Installer generiert das Salt und die Dienstpasswörter, aber nicht die Langfuse- und Grafana-Admin-Passwörter: Legen SieSIGNING_ SALT LANGFUSE_,INIT_ USER_ PASSWORD passwordin der Vorlage fest, bevor Langfuse zum ersten Mal startet, und ändern Sie nach dem ersten Start von Grafana dessen Standard-admin/admin. Ändern Sie bei einer laufenden Installation die PostgreSQL- und Neo4j-Passwörter innerhalb der Datenbanken, bevor Sie sie in.envändern. - Verwenden Sie ein echtes Zertifikat und einen stabilen
PUBLIC_.URL - Hinter einem Reverse-Proxy setzen Sie
TRUSTED_auf die Adresse oder das CIDR des Proxys. Andernfalls teilen sich alle Nutzer die Adresse des Proxys, und 30 fehlgeschlagene Anmeldungen innerhalb von 5 Minuten sperren jeden für 15 Minuten aus.PROXIES - Verlegen Sie die Tool-Ausführung auf einen dedizierten Worker Node.
- Aktivieren Sie Observability, um Kosten und Fehler nachverfolgen zu können.
- Halten Sie den Knowledge GraphKnowledge Graph — WissensgraphDer Graph der Hosts, Dienste, Schwachstellen und der Zugriffe zwischen ihnen, den PentAGI während eines Tests aufbaut, wenn diese optionale Funktion aktiviert ist. Er zeigt, wie Befunde zusammenhängen. und Langfuse in einem privaten Netzwerk.
Podman
PentAGI läuft sowohl auf Podman als auch auf Docker. Im Rootless-Modus benötigt der Dienst scraper eine zusätzliche Konfiguration, da Rootless-Container keine privilegierten Ports binden können; das README des Repositorys beschreibt die Rootless- und Rootful-Setups.
Mehrere Instanzen (TENANT_ ID)
Lassen Sie TENANT_ für eine einzelne Installation leer, und behalten Sie den leeren Wert auch bei einer bestehenden Installation bei: Wenn Sie ihn später setzen, wird die Instanz in ein neues, leeres Schema verschoben, das mit dem Standard-[email protected]-Konto beginnt, und ihre FlowsFlowEin Durchlauf von PentAGI: ein Ziel, die aus Ihren Nachrichten erstellten Aufgaben und alles, was die Agenten dabei getan haben., Benutzer und Einstellungen sind nicht mehr sichtbar. Setzen Sie den Wert bei den Instanzen, die Sie hinzufügen, wenn mehrere PentAGI-Instanzen externe Ressourcen wie einen PostgreSQL-Server, einen Worker NodeWorker Node — Worker-NodeEin separater Server, der die Tool-Container der Agenten ausführt, sodass die von ihnen ausgeführten Befehle niemals den Haupt-PentAGI-Host berühren., eine Neo4j- oder eine Langfuse-Instanz gemeinsam nutzen:
| Bereich | Auswirkung von TENANT_ |
|---|---|
| PostgreSQL | Arbeitet im Schema acme statt public |
| Worker-Container | Werden als acme-pentagi-terminal-<flow> benannt |
| Knowledge Graph | Gruppen-IDs werden zu acme-flow-<id> |
| Authentifizierung | Cookie- und Token-Schlüssel enthalten den TenantTenant — MandantEine PentAGI-Installation. Wenn mehrere Installationen externe Ressourcen wie eine PostgreSQL-Datenbank gemeinsam nutzen, erhält jede hinzugefügte Installation ihre eigene TENANT_ID; bei einer bestehenden Installation bleibt das Feld leer. |
| Telemetrie | Langfuse- und OpenTelemetry-Daten werden mit dem Tenant gekennzeichnet |
Der Wert muss mit ^[a-z][a-z0-9_ übereinstimmen. Host-Ressourcen sind nicht namespaced. Instanzen auf einem Server benötigen ihre eigenen DATA_ und veröffentlichten Ports. Instanzen, deren SandboxesSandboxDer isolierte Docker-Container, in dem Agenten ihre Tools ausführen. Die Oberfläche zeigt ihn als Terminal. auf demselben Docker-Host laufen, auf einem Server oder einem gemeinsamen Worker Node, benötigen ihren eigenen DOCKER_ und, falls dieser gesetzt ist, ihren eigenen DOCKER_; andernfalls beanspruchen ihre Sandboxes dieselben Ports und Flows können nicht gestartet werden. Jede Basis startet ein Fenster von 2000 Ports, standardmäßig bei 28000, verwenden Sie daher zum Beispiel 28000 und 30000.
Zuletzt aktualisiert am