Some checks are pending
CI / Build og unit tests (push) Waiting to run
CI / Integration (mcr.microsoft.com/mssql/server:2017-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2019-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2022-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2025-latest) (push) Blocked by required conditions
Hub: nightly retention of resolved findings, the submission log and silent instances; delete-customer erases a customer's data and blocks its licenses; persistent data protection keys and trusted reverse proxies. Docker image and compose file with PostgreSQL. The agent refuses to send the license to a non-https hub. Documentation for the hub, for data processing (GDPR basis for a data processing agreement) and the README roadmap for phase 3. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E3EExwndy8Z22EK2Qpt6BK
44 lines
1.5 KiB
YAML
44 lines
1.5 KiB
YAML
# SQLInsight Hub with PostgreSQL. Put a TLS-terminating reverse proxy (IIS/ARR, nginx, Caddy, Traefik) in front:
|
|
# agents and staff must reach the hub over https.
|
|
#
|
|
# HUB_DB_PASSWORD=... docker compose up -d
|
|
# docker compose exec hub dotnet SQLInsight.Hub.dll add-staff <brugernavn> "<navn>"
|
|
services:
|
|
postgres:
|
|
image: postgres:17-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: sqlinsight_hub
|
|
POSTGRES_USER: sqlinsight_hub
|
|
POSTGRES_PASSWORD: ${HUB_DB_PASSWORD:?set HUB_DB_PASSWORD}
|
|
volumes:
|
|
- postgres:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U sqlinsight_hub -d sqlinsight_hub"]
|
|
interval: 10s
|
|
retries: 5
|
|
|
|
hub:
|
|
build:
|
|
context: ../..
|
|
dockerfile: deploy/hub/Dockerfile
|
|
image: sqlinsight-hub
|
|
restart: unless-stopped
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
environment:
|
|
ConnectionStrings__Hub: "Host=postgres;Database=sqlinsight_hub;Username=sqlinsight_hub;Password=${HUB_DB_PASSWORD};GSS Encryption Mode=Disable"
|
|
# The public key licenses are signed with (the vendor tool's keygen prints it):
|
|
# SQLInsight__Hub__TrustedKeys__k20260929: "MFkw..."
|
|
SQLInsight__Hub__UpdateFeedPath: /data/feed
|
|
# Address of the reverse proxy, so login rate limiting sees real client addresses:
|
|
# SQLInsight__Hub__KnownProxies__0: "172.18.0.1"
|
|
volumes:
|
|
- hubdata:/data
|
|
ports:
|
|
- "127.0.0.1:8080:8080"
|
|
|
|
volumes:
|
|
postgres:
|
|
hubdata:
|