Production
Exécuter PentAGI pour une équipe — durcissement, isolation, Podman et plusieurs instances.
Liste de contrôle
- Définissez tous les identifiants, y compris
COOKIE_, avant le premier démarrage — voir Sécurité. L’installateur génère le sel et les mots de passe des services, mais pas les mots de passe administrateur Langfuse et Grafana : définissezSIGNING_ SALT LANGFUSE_,INIT_ USER_ PASSWORD passworddans le modèle, avant le premier démarrage de Langfuse, et modifiez l’identifiant / mot de passe par défaut de Grafanaadmin/adminaprès son premier démarrage. Sur une installation en cours d’exécution, modifiez les mots de passe PostgreSQL et Neo4j au sein des bases de données avant de les modifier dans.env. - Fournissez un certificat réel et une valeur
PUBLIC_stable.URL - Derrière un reverse proxy, définissez
TRUSTED_sur l’adresse ou le CIDR du proxy. Sinon, tous les utilisateurs partagent l’adresse du proxy, et 30 échecs de connexion en 5 minutes bloquent tout le monde pendant 15 minutes.PROXIES - Déplacez l'exécution de tooltool — outilCe par quoi un agent agit : une capacité intégrée comme le terminal, le navigateur isolé ou la recherche web, ou un programme du sandbox comme nmap, metasploit ou sqlmap. vers un worker node dédié.
- Activez l'observabilité afin de suivre les coûts et les échecs.
- Maintenez le knowledge graphknowledge graph — graphe de connaissancesLe graphe des hôtes, services, vulnérabilités et des accès entre eux que PentAGI construit pendant un test lorsque cette fonctionnalité optionnelle est activée. Il montre comment les constats sont reliés. et Langfuse sur un réseau privé.
Podman
PentAGI fonctionne aussi bien sur Podman que sur Docker. En mode rootless, le service scraper nécessite une configuration supplémentaire car les conteneurs rootless ne peuvent pas se lier aux ports privilégiés ; le README du dépôt décrit les configurations rootless et rootful.
Plusieurs instances (TENANT_ ID)
Laissez TENANT_ vide pour une installation unique, et laissez-le vide sur une installation existante : le définir ultérieurement déplace l'instance vers un nouveau schéma vide qui commence avec le compte [email protected] par défaut, et ses flowsflowUn flow de PentAGI : un objectif, les tâches créées à partir de vos messages et tout ce que les agents ont fait en cours de route., utilisateurs et paramètres n'apparaissent plus. Définissez-le sur les instances que vous ajoutez lorsque plusieurs instances PentAGI partagent des ressources externes telles qu'un serveur PostgreSQL, un worker nodeworker node — nœud workerUn serveur distinct qui exécute les conteneurs d’outils des agents, afin que les commandes qu’ils exécutent n’affectent jamais l’hôte principal de PentAGI., une instance Neo4j ou Langfuse :
| Domaine | Effet de TENANT_ |
|---|---|
| PostgreSQL | Fonctionne dans le schéma acme au lieu de public |
| Conteneurs worker | Nommés acme-pentagi-terminal-<flow> |
| Knowledge graph | Les identifiants de groupe deviennent acme-flow-<id> |
| Authentification | Les clés de cookie et de jeton incluent le tenanttenantUne installation PentAGI. Lorsque plusieurs installations partagent des ressources externes, telles qu'une base de données PostgreSQL, chacune que vous ajoutez obtient son propre TENANT_ID ; une installation existante le laisse vide. |
| Télémétrie | Les données Langfuse et OpenTelemetry sont étiquetées avec le tenant |
La valeur doit correspondre à ^[a-z][a-z0-9_. Les ressources de l'hôte ne sont pas isolées par espace de noms. Les instances sur un même serveur nécessitent leurs propres DATA_ et ports publiés. Les instances dont les sandboxsandboxLe conteneur Docker isolé dans lequel les agents exécutent leurs outils. L'interface l'affiche comme Terminal. s'exécutent sur le même hôte Docker, sur un serveur ou un worker node partagé, nécessitent leurs propres DOCKER_ et, s'il est défini, leur propre DOCKER_ ; sinon, leurs sandbox revendiquent les mêmes ports et les flow ne parviennent pas à démarrer. Chaque base démarre une plage de 2000 ports, 28000 par défaut, utilisez donc par exemple 28000 et 30000.
Dernière mise à jour le