Install
Requirements
- .NET 10+ Runtime
- Microsoft SQL Server with change tracking enabled
The encryption key
Trignis encrypts connection strings and credentials in its configuration files. It needs a key before the first run, supplied as TRIGNIS_ENCRYPTION_KEY.
On Windows, store it as a machine environment variable:
$bytes = New-Object byte[] 48; [Security.Cryptography.RandomNumberGenerator]::Create().GetBytes($bytes); [Environment]::SetEnvironmentVariable("TRIGNIS_ENCRYPTION_KEY", [Convert]::ToBase64String($bytes), "Machine")In containers, pass the same variable through your compose file or secret store.
WARNING
Back this key up. If it is lost or changed, the existing encrypted configuration cannot be decrypted. You have to delete the .core/ folder and re-enter every secret.
Without the variable set, Trignis falls back to a built-in key and logs a warning. That is fine for a local trial and unacceptable in production.
Docker
The setup script prepares environments/ and appsettings.json, then starts the container:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/melosso/trignis/refs/heads/main/docker-setup.sh)"To do it by hand, start from the docker-compose.yml in the repository.
Windows
- Download the latest release and extract it to your deployment folder.
- Set
TRIGNIS_ENCRYPTION_KEYas above. - Run the executable once to confirm it starts, then install it as a service.
Enable change tracking in SQL Server
Trignis reads change tracking; it does not turn it on for you.
-- Database level
ALTER DATABASE YourDatabase
SET CHANGE_TRACKING = ON (CHANGE_RETENTION = 2 DAYS, AUTO_CLEANUP = ON);
-- Per table
ALTER TABLE dbo.YourTable ENABLE CHANGE TRACKING;CHANGE_RETENTION sets how long history is kept. If Trignis is offline longer than the retention window, the stored version becomes too old and the next run falls back to a full sync.
DANGER
Change tracking side tables grow and need cleanup, and SQL Server 2025 changed how automatic cleanup behaves. Read the risks before enabling this on a production database.
Verify
Start Trignis and open http://localhost:2455. The dashboard shows the environments it loaded and the objects it is tracking.