# # ============================================================================= # GENERAL CONFIGURATION # ============================================================================= # APP_NAME = name of application for use in scripts # COMPOSE_FILE = default for no app_name in docker-compose file name, app if there is # BACKUP = if true, include this application in backup operations # UPDATE_TYPE = auto: new image builds are applied automatically (a recovery snapshot is taken first), manual: only when you press Update # HEALTHCHECK = if true, default docker health checks for that container will be enabled # AUTHELIA = if true, use Authelia authentication, if false turned off. # HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote # CFG_TRIVY_APP_NAME=trivy # MULTI_INSTANCE = if true, this app can run as multiple isolated instances # (own data/DB/subdomain/backups) via `libreportal instance create`. Only set on # apps whose compose identity (container_name, Traefik routers, backup labels) # is instance-safe — see scripts/instance/instance_create.sh. # Not instanced by design. The updater resolves the scanner by the fixed container name trivy-service (see containers/trivy/scripts/trivy_scan.sh). A second copy would run but never be the one CVE scanning uses. CFG_TRIVY_MULTI_INSTANCE=false CFG_TRIVY_BACKUP=false # STORAGE = which storage location holds this app's data. Change it with # `libreportal app move trivy ` — editing here records intent only. CFG_TRIVY_STORAGE=default # Storage Location - Which disk holds this app's data [default:Primary] CFG_TRIVY_BACKUP_STRATEGY=auto CFG_TRIVY_UPDATE_TYPE=auto CFG_TRIVY_COMPOSE_FILE=default CFG_TRIVY_HEALTHCHECK=true CFG_TRIVY_AUTHELIA=false CFG_TRIVY_HEADSCALE=false # # ============================================================================= # METADATA # ============================================================================= # CATEGORY = application category for grouping # TITLE = display name for the application # DESCRIPTION = short description of the application # LONG_DESCRIPTION = detailed description of the application # URL = source repository or documentation URL # ACTIONS = available actions for this application # CFG_TRIVY_CATEGORY="security,recommended" CFG_TRIVY_TITLE="Trivy" CFG_TRIVY_DESCRIPTION="Vulnerability scanner" CFG_TRIVY_LONG_DESCRIPTION="Trivy checks the container images behind your installed apps for known vulnerabilities (CVEs)" CFG_TRIVY_URL="https://github.com/aquasecurity/trivy" CFG_TRIVY_ACTIONS="configure|install|restart|shutdown|uninstall" # # ============================================================================= # NETWORK CONFIGURATION # ============================================================================= # DOMAIN = number of domain from the general config, useful when using multiple domains # WHITELIST = if true only allow whitelisted ips (see general config), if false allow all # CFG_TRIVY_DOMAIN=1 CFG_TRIVY_WHITELIST=false CFG_TRIVY_NETWORK=default # # ============================================================================= # PORT CONFIGURATION # ============================================================================= # PORT_ = port configuration: app|name|external:internal|access|protocol|login|traefik|webui|description # - app: application name # - name: service identifier (webui, dns, ssh, etc.) # - external:internal: port mapping (external can be 'random' for auto-allocation) # - access: 'public' (internet accessible), 'private' (local network only), 'disabled' (not running) # - protocol: 'tcp' or 'udp' # - login: if true, this port requires basic-auth via Traefik (only meaningful when traefik=true) # - traefik: if true, Traefik handles this port (reverse proxy) # - webui: if true, this port serves the main web interface # - description: human-readable description of the service # CFG_TRIVY_PORT_1="trivy-service|api|random:4954|private|tcp|false|false|false|Scanner API|"