Docker

Sieve ships with a Dockerfile and docker-compose.yml for easy containerized deployment with PostgreSQL persistence.

Standalone Docker

Build and run without Compose (in-memory mode, no PostgreSQL):

docker build -t sieve-aml .
docker run -p 8080:8080 sieve-aml

Environment Variables

Variable

Default

Description

SPRING_PROFILES_ACTIVE

(none)

Set to postgres to enable PostgreSQL persistence

SPRING_DATASOURCE_URL

JDBC URL for PostgreSQL (e.g., jdbc:postgresql://db:5432/sieve)

SPRING_DATASOURCE_USERNAME

Database username

SPRING_DATASOURCE_PASSWORD

Database password

SIEVE_LISTS_OFAC_SDN_ENABLED

true

Enable/disable OFAC SDN list

SIEVE_SCREENING_DEFAULT_THRESHOLD

0.80

Default match score threshold

Verify

# Health check
curl http://localhost:8080/api/v1/health

# Screen a name
curl -X POST http://localhost:8080/api/v1/screen \
  -H "Content-Type: application/json" \
  -d '{"name": "Vladimir Putin"}'