Skip to content

Self hosted

PentestPad self hosted solution is based on containerized images that can be easily deployed over Docker or any other similar technology.

1. Pull the pentestpad-docker repository from Github

Section titled “1. Pull the pentestpad-docker repository from Github”

First, we need to pull the base configuration for deployment of the PentestPad instance.

Terminal window
git pull https://github.com/PentestPad/pentestpad-docker

Authentication is done using the credentials provided by the PentestPad team for your tenant.

Terminal window
docker login repository.pentestpad.com

Inside the pentestpad-docker directory make a copy of .env.example into .env and edit configuration variables:

# Database configuration
DB_PASSWORD=secret
# License
LICENSE_KEY=
# Application URL
APP_URL=https://localhost
APP_HOSTNAME=localhost
# TEMP Admin user configuration, please delete from .env file after first login
ADMIN_NAME=Administrator
ADMIN_EMAIL=admin@localhost
ADMIN_PASSWORD=secret
# Mail configuration (mailgun, smtp)
MAIL_MAILER=smtp
# Mailgun configuration (optional, required if MAIL_MAILER=mailgun)
MAILGUN_DOMAIN=mg.domain.com
MAILGUN_SECRET="secret"
# SMTP configuration (optional, required if MAIL_MAILER=smtp)
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=username
MAIL_PASSWORD=password
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=support@pentestpad.com

It might take a few minutes to build the environment before the application becomes available at https://localhost:443

Terminal window
docker compose up

To update your self-hosted PentestPad instance to the latest version:

Terminal window
docker compose down
Terminal window
docker pull repository.pentestpad.com/pentestpad/app:latest
docker pull repository.pentestpad.com/pentestpad/template-builder:latest
Terminal window
docker compose up