walkofcode/sentinello

By walkofcode

Updated about 1 month ago

Self-hosted dependency-vulnerability monitoring portal for your code portfolio

Image
Security
Developer tools
Monitoring & observability
0

1.5K

walkofcode/sentinello repository overview

Sentinello

Centralized dependency-vulnerability monitoring for your entire code portfolio.

Sentinello is a self-hosted portal that continuously scans the repositories you point it at, surfaces known CVEs in their dependencies, and gives you one triage queue across every project — instead of npm audit output scattered across a dozen checkouts.

Single image, single SQLite file, no external services. The web portal and the background scan worker run together under pm2-runtime.


Quick start

docker run -d \
  --name sentinello \
  -p 3000:3000 \
  -v sentinello-data:/app/data \
  -v /path/to/your/code:/roots/personal:ro \
  walkofcode/sentinello:latest

Open http://localhost:3000, then go to Settings → Roots and add /roots/personal to start discovery and scanning.

docker compose

services:
    sentinello:
        image: walkofcode/sentinello:latest
        container_name: sentinello
        restart: unless-stopped
        ports:
            - '3000:3000'
        environment:
            SENTINELLO_DB_PATH: /app/data/sentinello.sqlite
            SENTINELLO_PORTAL_BASE_URL: http://localhost:3000
        volumes:
            - sentinello-data:/app/data
            # One read-only mount per portfolio root you want scanned:
            - /Users/you/code:/roots/personal:ro

volumes:
    sentinello-data:

Configuration

VariableDefaultPurpose
PORT3000Web portal port inside the container
SENTINELLO_DB_PATH/app/data/sentinello.sqliteSQLite location (keep on the mounted volume)
SENTINELLO_PORTAL_BASE_URLhttp://localhost:3000External URL used in notification links
ME_NAMEanonymousDisplay name / owner label
Volumes
  • /app/data — the SQLite DB plus its WAL/SHM siblings and the worker lock. Mount this to persist state across restarts.
  • /roots/<name> (read-only) — mount each code portfolio root you want discovered, then point Settings → Roots at the matching /roots/<name> path.

Health

The container exposes GET /api/health (runs a SELECT 1 against SQLite) and ships a HEALTHCHECK, so compose / k8s / Portainer can detect a wedged process.

Platforms

linux/amd64 and linux/arm64 (multi-arch manifest — the correct architecture is pulled automatically).

Tags

TagPoints atUse it when
latestnewest stable releasetrying it out / you want auto-updates
vX.Y.Zexact immutable releaseproduction — pin this
vX.Ylatest patch within a minortrack patches, hold the minor
sha-<short>a specific commit builddebugging / reproducing a single build

Tag summary

Content type

Image

Digest

sha256:59d901eb5

Size

407.5 MB

Last updated

about 1 month ago

docker pull walkofcode/sentinello:sha-d6b5334