Prowler App
Installation¶
Prowler App supports multiple installation methods based on your environment.
Refer to the Prowler App Tutorial for detailed usage instructions.
Requirements:
Docker Composeinstalled: https://docs.docker.com/compose/install/.
Commands:
curl -LO https://raw.githubusercontent.com/prowler-cloud/prowler/refs/heads/master/docker-compose.yml
curl -LO https://raw.githubusercontent.com/prowler-cloud/prowler/refs/heads/master/.env
docker compose up -d
Containers are built for
linux/amd64. If your workstation's architecture is different, please setDOCKER_DEFAULT_PLATFORM=linux/amd64in your environment or use the--platform linux/amd64flag in the docker command.Enjoy Prowler App at http://localhost:3000 by signing up with your email and password.
Note
You can change the environment variables in the .env file. Note that it is not recommended to use the default values in production environments.
Note
For a secure setup, leave empty or remove DJANGO_TOKEN_SIGNING_KEY and DJANGO_TOKEN_VERIFYING_KEY in .env before first start. When absent, the API autoโgenerates a unique key pair and stores it in ~/.config/prowler-api (non-container) or the bound Docker volume in _data/api (container). Never commit or reuse static/default keys. To rotate, delete the stored key files and restart the API.
Note
There is a development mode available, you can use the file https://github.com/prowler-cloud/prowler/blob/master/docker-compose-dev.yml to run the app in development mode.
Warning
Google and GitHub authentication is only available in Prowler Cloud.
Requirements:
gitinstalled.poetryinstalled: poetry installation.npminstalled: npm installation.Docker Composeinstalled: https://docs.docker.com/compose/install/.
Warning
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
Important
Starting from Poetry v2.0.0, poetry shell has been deprecated in favor of poetry env activate.
If your poetry version is below 2.0.0 you must keep using poetry shell to activate your environment.
In case you have any doubts, consult the Poetry environment activation guide: https://python-poetry.org/docs/managing-environments/#activating-the-environment
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.
Warning
Google and GitHub authentication is only available in Prowler Cloud.
Update Prowler App¶
Upgrade Prowler App installation using one of two options:
Option 1: Update Environment File¶
Edit the .env file and change version values:
Option 2: Use Docker Compose Pull¶
The --policy always flag ensures that Docker pulls the latest images even if they already exist locally.
What Gets Preserved During Upgrade
Everything is preserved, nothing will be deleted after the update.
Troubleshooting¶
If containers don't start, check logs for errors:
If you encounter issues, you can rollback to the previous version by changing the .env file back to your previous version and running:
Container versions¶
The available versions of Prowler CLI are the following:
latest: in sync withmasterbranch (please note that it is not a stable version)v4-latest: in sync withv4branch (please note that it is not a stable version)v3-latest: in sync withv3branch (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:
-
Prowler App: