Installation
Prowler App offers flexible installation methods tailored to various environments.
Refer to the Prowler App Tutorial for detailed usage instructions.
Prowler configuration is based on .env files. Every version of Prowler can have differences on that file, so, please, use the file that corresponds with that version or repository branch or tag.
Requirements:Commands:VERSION=$(curl -s https://api.github.com/repos/prowler-cloud/prowler/releases/latest | jq -r .tag_name)
curl -sLO "https://raw.githubusercontent.com/prowler-cloud/prowler/refs/tags/${VERSION}/docker-compose.yml"
curl -sLO "https://raw.githubusercontent.com/prowler-cloud/prowler/refs/tags/${VERSION}/.env"
docker compose up -d
Requirements:Make sure to have api/.env and ui/.env.local files with the required environment variables. You can find the required environment variables in the api/.env.template and ui/.env.template files. Commands to run the API:git clone https://github.com/prowler-cloud/prowler \
cd prowler/api \
poetry install \
eval $(poetry env activate) \
set -a \
source .env \
docker compose up postgres valkey -d \
cd src/backend \
python manage.py migrate --database admin \
gunicorn -c config/guniconf.py config.wsgi:application
Now, you can access the API documentation at http://localhost:8080/api/v1/docs.
Commands to run the API Worker:git clone https://github.com/prowler-cloud/prowler \
cd prowler/api \
poetry install \
eval $(poetry env activate) \
set -a \
source .env \
cd src/backend \
python -m celery -A config.celery worker -l info -E
Commands to run the API Scheduler:git clone https://github.com/prowler-cloud/prowler \
cd prowler/api \
poetry install \
eval $(poetry env activate) \
set -a \
source .env \
cd src/backend \
python -m celery -A config.celery beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
Commands to run the UI:git clone https://github.com/prowler-cloud/prowler \
cd prowler/ui \
npm install \
npm run build \
npm start
Enjoy Prowler App at http://localhost:3000 by signing up with your email and password.
Google and GitHub authentication is only available in Prowler Cloud.
Updating Prowler App
Upgrade Prowler App installation using one of two options:
Option 1: Updating the Environment File
To update the environment file:
Edit the .env file and change version values:
PROWLER_UI_VERSION="5.9.0"
PROWLER_API_VERSION="5.9.0"
Option 2: Using Docker Compose Pull
docker compose pull --policy always
The --policy always flag ensures that Docker pulls the latest images even if they already exist locally.
What Gets Preserved During UpgradeEverything is preserved, nothing will be deleted after the update.
Troubleshooting Installation Issues
If containers don’t start, check logs for errors:
# Check logs for errors
docker compose logs
# Verify image versions
docker images | grep prowler
If issues are encountered, rollback to the previous version by changing the .env file back to the previous version and running:
docker compose pull
docker compose up -d
Container Versions
The available versions of Prowler App are the following:
latest: in sync with master branch (please note that it is not a stable version)
v4-latest: in sync with v4 branch (please note that it is not a stable version)
v3-latest: in sync with v3 branch (please note that it is not a stable version)
<x.y.z> (release): you can find the releases here, those are stable releases.
stable: this tag always point to the latest release.
v4-stable: this tag always point to the latest release for v4.
v3-stable: this tag always point to the latest release for v3.
The container images are available here: