mirror of
https://github.com/prowler-cloud/prowler.git
synced 2025-12-18 21:07:48 +00:00
Co-authored-by: Chandrapal Badshah <12944530+Chan9390@users.noreply.github.com> Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com> Co-authored-by: Alejandro Bailo <59607668+alejandrobailo@users.noreply.github.com> Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com> Co-authored-by: Adrián Jesús Peña Rodríguez <adrianjpr@gmail.com> Co-authored-by: Andoni Alonso <14891798+andoniaf@users.noreply.github.com> Co-authored-by: Rubén De la Torre Vico <ruben@prowler.com> Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com>
150 lines
5.3 KiB
Bash
150 lines
5.3 KiB
Bash
#### Important Note ####
|
|
# This file is used to store environment variables for the Prowler App.
|
|
# For production, it is recommended to use a secure method to store these variables and change the default secret keys.
|
|
|
|
#### Prowler UI Configuration ####
|
|
PROWLER_UI_VERSION="stable"
|
|
AUTH_URL=http://localhost:3000
|
|
API_BASE_URL=http://prowler-api:8080/api/v1
|
|
NEXT_PUBLIC_API_BASE_URL=${API_BASE_URL}
|
|
NEXT_PUBLIC_API_DOCS_URL=http://prowler-api:8080/api/v1/docs
|
|
AUTH_TRUST_HOST=true
|
|
UI_PORT=3000
|
|
# openssl rand -base64 32
|
|
AUTH_SECRET="N/c6mnaS5+SWq81+819OrzQZlmx1Vxtp/orjttJSmw8="
|
|
# Google Tag Manager ID
|
|
NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID=""
|
|
|
|
#### MCP Server ####
|
|
PROWLER_MCP_VERSION=stable
|
|
# For UI and MCP running on docker:
|
|
PROWLER_MCP_SERVER_URL=http://mcp-server:8000/mcp
|
|
# For UI running on host, MCP in docker:
|
|
# PROWLER_MCP_SERVER_URL=http://localhost:8000/mcp
|
|
|
|
#### Code Review Configuration ####
|
|
# Enable Claude Code standards validation on pre-push hook
|
|
# Set to 'true' to validate changes against AGENTS.md standards via Claude Code
|
|
# Set to 'false' to skip validation
|
|
CODE_REVIEW_ENABLED=true
|
|
|
|
#### Prowler API Configuration ####
|
|
PROWLER_API_VERSION="stable"
|
|
# PostgreSQL settings
|
|
# If running Django and celery on host, use 'localhost', else use 'postgres-db'
|
|
POSTGRES_HOST=postgres-db
|
|
POSTGRES_PORT=5432
|
|
POSTGRES_ADMIN_USER=prowler_admin
|
|
POSTGRES_ADMIN_PASSWORD=postgres
|
|
POSTGRES_USER=prowler
|
|
POSTGRES_PASSWORD=postgres
|
|
POSTGRES_DB=prowler_db
|
|
# Read replica settings (optional)
|
|
# POSTGRES_REPLICA_HOST=postgres-db
|
|
# POSTGRES_REPLICA_PORT=5432
|
|
# POSTGRES_REPLICA_USER=prowler
|
|
# POSTGRES_REPLICA_PASSWORD=postgres
|
|
# POSTGRES_REPLICA_DB=prowler_db
|
|
# POSTGRES_REPLICA_MAX_ATTEMPTS=3
|
|
# POSTGRES_REPLICA_RETRY_BASE_DELAY=0.5
|
|
|
|
# Celery-Prowler task settings
|
|
TASK_RETRY_DELAY_SECONDS=0.1
|
|
TASK_RETRY_ATTEMPTS=5
|
|
|
|
# Valkey settings
|
|
# If running Valkey and celery on host, use localhost, else use 'valkey'
|
|
VALKEY_HOST=valkey
|
|
VALKEY_PORT=6379
|
|
VALKEY_DB=0
|
|
|
|
# API scan settings
|
|
|
|
# The path to the directory where scan output should be stored
|
|
DJANGO_TMP_OUTPUT_DIRECTORY="/tmp/prowler_api_output"
|
|
|
|
# The maximum number of findings to process in a single batch
|
|
DJANGO_FINDINGS_BATCH_SIZE=1000
|
|
|
|
# The AWS access key to be used when uploading scan output to an S3 bucket
|
|
# If left empty, default AWS credentials resolution behavior will be used
|
|
DJANGO_OUTPUT_S3_AWS_ACCESS_KEY_ID=""
|
|
|
|
# The AWS secret key to be used when uploading scan output to an S3 bucket
|
|
DJANGO_OUTPUT_S3_AWS_SECRET_ACCESS_KEY=""
|
|
|
|
# An optional AWS session token
|
|
DJANGO_OUTPUT_S3_AWS_SESSION_TOKEN=""
|
|
|
|
# The AWS region where your S3 bucket is located (e.g., "us-east-1")
|
|
DJANGO_OUTPUT_S3_AWS_DEFAULT_REGION=""
|
|
|
|
# The name of the S3 bucket where scan output should be stored
|
|
DJANGO_OUTPUT_S3_AWS_OUTPUT_BUCKET=""
|
|
|
|
# Django settings
|
|
DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1,prowler-api
|
|
DJANGO_BIND_ADDRESS=0.0.0.0
|
|
DJANGO_PORT=8080
|
|
DJANGO_DEBUG=False
|
|
DJANGO_SETTINGS_MODULE=config.django.production
|
|
# Select one of [ndjson|human_readable]
|
|
DJANGO_LOGGING_FORMATTER=human_readable
|
|
# Select one of [DEBUG|INFO|WARNING|ERROR|CRITICAL]
|
|
# Applies to both Django and Celery Workers
|
|
DJANGO_LOGGING_LEVEL=INFO
|
|
# Defaults to the maximum available based on CPU cores if not set.
|
|
DJANGO_WORKERS=4
|
|
# Token lifetime is in minutes
|
|
DJANGO_ACCESS_TOKEN_LIFETIME=30
|
|
# Token lifetime is in minutes
|
|
DJANGO_REFRESH_TOKEN_LIFETIME=1440
|
|
DJANGO_CACHE_MAX_AGE=3600
|
|
DJANGO_STALE_WHILE_REVALIDATE=60
|
|
DJANGO_MANAGE_DB_PARTITIONS=True
|
|
# openssl genrsa -out private.pem 2048
|
|
DJANGO_TOKEN_SIGNING_KEY=""
|
|
# openssl rsa -in private.pem -pubout -out public.pem
|
|
DJANGO_TOKEN_VERIFYING_KEY=""
|
|
# openssl rand -base64 32
|
|
DJANGO_SECRETS_ENCRYPTION_KEY="oE/ltOhp/n1TdbHjVmzcjDPLcLA41CVI/4Rk+UB5ESc="
|
|
DJANGO_BROKER_VISIBILITY_TIMEOUT=86400
|
|
DJANGO_SENTRY_DSN=
|
|
DJANGO_THROTTLE_TOKEN_OBTAIN=50/minute
|
|
|
|
# Sentry settings
|
|
SENTRY_ENVIRONMENT=local
|
|
SENTRY_RELEASE=local
|
|
NEXT_PUBLIC_SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT}
|
|
|
|
|
|
#### Prowler release version ####
|
|
NEXT_PUBLIC_PROWLER_RELEASE_VERSION=v5.12.2
|
|
|
|
# Social login credentials
|
|
SOCIAL_GOOGLE_OAUTH_CALLBACK_URL="${AUTH_URL}/api/auth/callback/google"
|
|
SOCIAL_GOOGLE_OAUTH_CLIENT_ID=""
|
|
SOCIAL_GOOGLE_OAUTH_CLIENT_SECRET=""
|
|
|
|
SOCIAL_GITHUB_OAUTH_CALLBACK_URL="${AUTH_URL}/api/auth/callback/github"
|
|
SOCIAL_GITHUB_OAUTH_CLIENT_ID=""
|
|
SOCIAL_GITHUB_OAUTH_CLIENT_SECRET=""
|
|
|
|
# Single Sign-On (SSO)
|
|
SAML_SSO_CALLBACK_URL="${AUTH_URL}/api/auth/callback/saml"
|
|
|
|
# Lighthouse tracing
|
|
LANGSMITH_TRACING=false
|
|
LANGSMITH_ENDPOINT="https://api.smith.langchain.com"
|
|
LANGSMITH_API_KEY=""
|
|
LANGCHAIN_PROJECT=""
|
|
|
|
# RSS Feed Configuration
|
|
# Multiple feed sources can be configured as a JSON array (must be valid JSON, no trailing commas)
|
|
# Each source requires: id, name, type (github_releases|blog|custom), url, and enabled flag
|
|
# IMPORTANT: Must be a single line with valid JSON (no newlines, no trailing commas)
|
|
# Example with one source:
|
|
RSS_FEED_SOURCES='[{"id":"prowler-releases","name":"Prowler Releases","type":"github_releases","url":"https://github.com/prowler-cloud/prowler/releases.atom","enabled":true}]'
|
|
# Example with multiple sources (no trailing comma after last item):
|
|
# RSS_FEED_SOURCES='[{"id":"prowler-releases","name":"Prowler Releases","type":"github_releases","url":"https://github.com/prowler-cloud/prowler/releases.atom","enabled":true},{"id":"prowler-blog","name":"Prowler Blog","type":"blog","url":"https://prowler.com/blog/rss","enabled":false}]'
|