The release package
The face-matcher repository is the deployment you run. Its core is the release package of the platform Face Matcher is built on: docker-compose.yml, dependencies/docker-compose.yml, run.sh and .env. Around it sit the files that turn the release into Face Matcher: Station, its branding, the restart policy, the license folder and the start, stop and reset scripts. Knowing which file owns which setting keeps your changes small and your upgrades painless.
Files
| File or folder | What it configures |
|---|---|
.env | Every engine setting, documented inline. Section 1: registry, image version, number of camera services. Section 2: shared settings: database, RabbitMQ, MQTT, S3, hosting, health checks, logging, OpenTelemetry, GPU, threading, image storage, save strategies, notifications, liveness. Section 3: per-service settings: REST feature sets, enrollment validation, usage statistics, authentication, camera pipeline, edge streams, detection and extraction algorithms, matcher, Leader and Follower. Section 4: Station image version, port and whether the identification page is enabled. |
.env.station | Station: API addresses, camera preview hosts, score-to-percentage conversion, HTTPS, Auth0 or Keycloak, S3 access for image display, optional watchlist member fields, logging, face validation mode. |
docker-compose.yml | The engine services, their ports and which .env values each one receives. |
dependencies/docker-compose.yml | PostgreSQL, pgAdmin, RabbitMQ (with management, MQTT and streams plugins) and SeaweedFS, with their data volumes. |
docker-compose.override.yml | Additions on top of the release: the Station service, restart: unless-stopped on every service and user: root on the services that load the biometric engine (see Install). |
branding/station/ | Station logo, logo without text, favicon and naming-product.json (window title, configuration section name, on-screen messages). See Branding. |
secrets/ | Your iengine.lic. Git-ignored. |
start.sh | Checks the license, links it where run.sh expects it, sets the public host for image links, runs run.sh, prints the URLs. |
run.sh, deployment-common.sh | The release's own start script: creates the network, starts dependencies, migrates the database, creates the S3 bucket, starts the services. |
stop.sh, factory-reset.sh | Stop keeping data; stop and delete containers, images and volumes. |
migrate-faces.sh, finalize-non-migrated-faces.sh | Re-extract stored face templates after changing the extraction algorithm. See Template migration. |
populate-wl-update-log-stream.sh | Regenerates the watchlist update-log stream when release notes ask for it. |
What differs from the release package
The repository documents its own deviations from the upstream release so you can reapply them after an upgrade. Services outside the Face Matcher scope were removed from docker-compose.yml, .env and the dependencies together with their settings; REGISTRY points to the Innovatrics registry; Notifications__IncludeTemplates is true so notifications carry face templates; RabbitMQ is pinned to 4.3.6; and the override file, the scripts, .env.station and branding/ were added.
Changing the configuration
Edit .env or .env.station, then run ./start.sh again; it re-creates the containers with the new values (a full stop.sh first is not needed). For structural changes such as more camera services or several instances of a service, edit the Compose files as described in Scaling. The settings that Station exposes under Configuration are stored in the database, not in .env.
Production use
The repository as delivered demonstrates a complete, working wiring. Before production, change every credential in .env and .env.station, restrict the published ports to the interfaces that need them, and enable authentication and HTTPS. See Operations.
Keep the production deployment outside your clone of the repository: copy the files to a deployment directory and edit them there. Upgrading then means unpacking the new release over that directory, reapplying the differences listed above and your own edits, running the template migration if the release notes require it, and running start.sh. See Upgrade.