Skip to main content
Installation
L
Written by Luka Sikic
Updated over a week ago

Self hosted instances of PentestPad are managed within our private Docker repository.

What you will need?

Please check our Requirements article.

Authentication

First, you need to authenticate to the repository using credentials provided by PentestPad team. Run this command from the machine you plan to use to host your instance.

docker login repository.pentestpad.net

It will ask you for username and password.

Clone the configuration repository

After authenticating, you can clone the configuration repository using following command:

git clone https://github.com/PentestPad/pentestpad-docker

Set License Key

Navigate to the cloned repository folder (pentestpad-docker) and edit the .env file with your favorite text editor. Populate the LICENSE_KEY variable with your license key.

LICENSE_KEY=ey...

(Optional) Edit environment variables

Navigate to the cloned repository folder (pentestpad-docker) and edit the .env file with your favorite text editor. You will probably want to modify the following environment variables:

  • APP_URL - Full URL where application can be accessed by, for example https://pentestpad.internal.test

  • DB_PASSWORD - password you wish to use for PostgreSQL server.

Admin account information:

  • ADMIN_NAME - Name of the admin user

  • ADMIN_EMAIL - Admin's email address

  • ADMIN_PASSWORD - Admin's password

Email delivery:

  • MAIL_MAILER - This can be smtp or mailgun

  • MAIL_HOST - Hostname of the SMTP server

  • MAIL_PORT - Port for the SMTP server

  • MAIL_USERNAME - SMTP username

  • MAIL_PASSWORD - SMTP password

  • MAIL_FROM_ADDRESS - Email address to use for delivery of emails

If you are using mailgun, you will need to define following variables:

  • MAILGUN_DOMAIN - Domain used for sending emails.

  • MAILGUN_SECRET - Secret used for sending emails.

  • MAILGUN_ENDPOINT - Mailgun endpoint

Run the instance

After you have edited the .env file, you can start the instance using following command:

docker-compose -f docker-compose.yml up --build

This will expose port 443 and application will be accessible that way.

Did this answer your question?