Files
RepoPulse-Public/docker-compose.yml
T

58 lines
2.4 KiB
YAML

name: repopulse
services:
repopulse:
build:
context: .
dockerfile: Dockerfile.unraid
container_name: repopulse
restart: unless-stopped
environment:
REPOPULSE_SCAN_ROOT: /scan
REPOPULSE_DB: /data/repopulse.db
REPOPULSE_STATIC_DIR: /app/static
REPOPULSE_MAX_CONCURRENT_SCANS: "${REPOPULSE_MAX_CONCURRENT_SCANS:-1}"
REPOPULSE_JOB_LEASE_SECONDS: "${REPOPULSE_JOB_LEASE_SECONDS:-900}"
REPOPULSE_SCAN_MAX_FILES: "${REPOPULSE_SCAN_MAX_FILES:-10000}"
REPOPULSE_SCAN_MAX_TEXT_BYTES: "${REPOPULSE_SCAN_MAX_TEXT_BYTES:-2000000}"
REPOPULSE_SCAN_MAX_TOTAL_TEXT_BYTES: "${REPOPULSE_SCAN_MAX_TOTAL_TEXT_BYTES:-50000000}"
REPOPULSE_SCAN_MAX_FINDINGS: "${REPOPULSE_SCAN_MAX_FINDINGS:-2000}"
REPOPULSE_SCAN_MAX_SECRET_FINDINGS: "${REPOPULSE_SCAN_MAX_SECRET_FINDINGS:-20}"
REPOPULSE_GITEA_URL: "${REPOPULSE_GITEA_URL:-}"
REPOPULSE_GITEA_TOKEN: "${REPOPULSE_GITEA_TOKEN:-}"
REPOPULSE_GITEA_BRANCH_WORKERS: "${REPOPULSE_GITEA_BRANCH_WORKERS:-4}"
REPOPULSE_GITEA_WEBHOOK_SECRET: "${REPOPULSE_GITEA_WEBHOOK_SECRET:-}"
REPOPULSE_GITEA_SYNC_INTERVAL_SECONDS: "${REPOPULSE_GITEA_SYNC_INTERVAL_SECONDS:-300}"
REPOPULSE_REPOSITORY_CACHE: /data/repos
REPOPULSE_MAX_QUEUED_SCANS: "${REPOPULSE_MAX_QUEUED_SCANS:-100}"
REPOPULSE_HISTORY_PER_REPOSITORY: "${REPOPULSE_HISTORY_PER_REPOSITORY:-200}"
REPOPULSE_FULL_REPORTS_PER_REPOSITORY: "${REPOPULSE_FULL_REPORTS_PER_REPOSITORY:-30}"
REPOPULSE_REPORT_RETENTION_DAYS: "${REPOPULSE_REPORT_RETENTION_DAYS:-365}"
REPOPULSE_OPERATOR_TOKEN: "${REPOPULSE_OPERATOR_TOKEN:-}"
REPOPULSE_MAINTENANCE_TOKEN: "${REPOPULSE_MAINTENANCE_TOKEN:-}"
volumes:
- "${REPOPULSE_DATA_ROOT:-repopulse_data}:/data"
- "${REPOPULSE_SOURCE_ROOT:-..}:/scan:ro"
ports:
- "${REPOPULSE_PORT:-1254}:8000"
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health', timeout=3).read()"]
interval: 20s
timeout: 5s
start_period: 10s
retries: 5
labels:
net.unraid.docker.managed: "dockerman"
net.unraid.docker.webui: "http://127.0.0.1:${REPOPULSE_PORT:-1254}"
security_opt:
- no-new-privileges:true
logging:
driver: json-file
options:
max-size: "20m"
max-file: "3"
volumes:
repopulse_data:
name: repopulse_data