Files
pentestagent/docker-compose.yml

75 lines
2.0 KiB
YAML

services:
pentestagent:
build:
context: .
dockerfile: Dockerfile
image: pentestagent:latest
container_name: pentestagent
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- PENTESTAGENT_MODEL=${PENTESTAGENT_MODEL}
- PENTESTAGENT_DEBUG=${PENTESTAGENT_DEBUG:-false}
volumes:
- ./loot:/app/loot
networks:
- pentestagent-net
stdin_open: true
tty: true
pentestagent-kali:
build:
context: .
dockerfile: Dockerfile.kali
container_name: pentestagent-kali
privileged: true # Required for VPN and some tools. NOTE: this is risky on shared hosts; prefer running inside a disposable VM.
cap_add:
- NET_ADMIN
- SYS_ADMIN
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- PENTESTAGENT_MODEL=${PENTESTAGENT_MODEL}
- ENABLE_TOR=${ENABLE_TOR:-false}
- INIT_METASPLOIT=${INIT_METASPLOIT:-false}
# By default msfrpcd binds to loopback; to intentionally expose Metasploit RPC to the host
# set EXPOSE_MSF_RPC=true in your environment. This is NOT recommended on shared machines.
- EXPOSE_MSF_RPC=${EXPOSE_MSF_RPC:-false}
volumes:
- ./loot:/app/loot
networks:
- pentestagent-net
stdin_open: true
tty: true
profiles:
- kali
pentestagent-kali-arm64:
build:
context: .
dockerfile: Dockerfile.kali
container_name: pentestagent-kali-arm64
privileged: true
cap_add:
- NET_ADMIN
- SYS_ADMIN
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- PENTESTAGENT_MODEL=${PENTESTAGENT_MODEL}
- ENABLE_TOR=${ENABLE_TOR:-false}
- INIT_METASPLOIT=${INIT_METASPLOIT:-false}
- EXPOSE_MSF_RPC=${EXPOSE_MSF_RPC:-false}
volumes:
- ./loot:/app/loot
networks:
- pentestagent-net
stdin_open: true
tty: true
profiles:
- kali-arm64
networks:
pentestagent-net:
driver: bridge