Producción
Ejecutar PentAGI para un equipo: hardening, aislamiento, Podman y varias instancias.
Lista de verificación
- Configura todas las credenciales, incluida
COOKIE_, antes del primer inicio — consulta Seguridad. El instalador genera la sal y las contraseñas de los servicios, pero no las contraseñas de administrador de Langfuse y Grafana: configuraSIGNING_ SALT LANGFUSE_yINIT_ USER_ PASSWORD passworden la plantilla, antes de que Langfuse se inicie por primera vez, y cambia eladmin/adminpredeterminado de Grafana después de su primer inicio. En una instalación en ejecución, cambia las contraseñas de PostgreSQL y Neo4j dentro de las bases de datos antes de cambiarlas en.env. - Sirve un certificado real y un
PUBLIC_estable.URL - Detrás de un proxy inverso, establece
TRUSTED_con la dirección o CIDR del proxy. De lo contrario, todos los usuarios comparten la dirección del proxy y 30 intentos de inicio de sesión fallidos en 5 minutos bloquean a todos durante 15 minutos.PROXIES - Mueve la ejecución de tooltool — herramientaAquello con lo que actúa un agente: una capacidad integrada como el terminal, el navegador aislado o la búsqueda web, o un programa en el sandbox como nmap, metasploit o sqlmap. a un worker node dedicado.
- Habilita la observabilidad para que puedas seguir los costos y los fallos.
- Mantén el knowledge graphknowledge graph — grafo de conocimientoEl grafo de hosts, servicios, vulnerabilidades y el acceso entre ellos que PentAGI construye durante un test cuando esta función opcional está activada. Muestra cómo se conectan los hallazgos. y Langfuse en una red privada.
Podman
PentAGI se ejecuta tanto en Podman como en Docker. En modo rootless, el servicio scraper necesita configuración adicional porque los contenedores rootless no pueden enlazar puertos privilegiados; el README del repositorio describe las configuraciones rootless y rootful.
Varias instancias (TENANT_ ID)
Deja TENANT_ vacío para una instalación única y manténlo vacío en una existente: configurarlo más tarde mueve la instancia a un esquema nuevo y vacío que comienza con la cuenta [email protected] por defecto, y sus flowsflow — flujoUna ejecución de PentAGI: un objetivo, las tareas creadas a partir de tus mensajes y todo lo que hicieron los agentes en el proceso., usuarios y configuraciones ya no aparecen. Configúralo en las instancias que añadas cuando varias instancias de PentAGI compartan recursos externos como un servidor PostgreSQL, un worker nodeworker node — nodo workerUn servidor separado que ejecuta los contenedores de herramientas de los agentes, de modo que los comandos que ejecutan nunca tocan el host principal de PentAGI., un Neo4j o un Langfuse:
| Área | Efecto de TENANT_ |
|---|---|
| PostgreSQL | Funciona dentro del esquema acme en lugar de public |
| Contenedores worker | Con nombre acme-pentagi-terminal-<flow> |
| Knowledge graph | Los IDs de grupo se convierten en acme-flow-<id> |
| Autenticación | Las claves de cookies y tokens incluyen el tenanttenantUna instalación de PentAGI. Cuando varias instalaciones comparten recursos externos, como una base de datos PostgreSQL, cada una que añadas obtiene su propio TENANT_ID; una instalación existente lo deja vacío. |
| Telemetría | Los datos de Langfuse y OpenTelemetry se etiquetan con el tenant |
El valor debe coincidir con ^[a-z][a-z0-9_. Los recursos del host no tienen espacios de nombres aislados. Las instancias en un mismo servidor necesitan su propio DATA_ y puertos publicados. Las instancias cuyos sandboxessandboxEl contenedor Docker aislado en el que los agentes ejecutan sus herramientas. La interfaz lo muestra como Terminal. se ejecutan en el mismo host de Docker, ya sea en un servidor o en un worker node compartido, necesitan su propio DOCKER_ y, si está configurado, su propio DOCKER_; de lo contrario, sus sandboxes reclaman los mismos puertos y los flows no pueden iniciarse. Cada base inicia un rango de 2000 puertos, 28000 por defecto, así que usa por ejemplo 28000 y 30000.
Última actualización el