Station
Station is the web user interface of Face Matcher. It is the tool operators and product owners use day to day: watch live camera previews, follow identification events as they happen, search the stored event history, manage watchlists and their members, register and configure cameras and edge streams, and adjust the platform settings that matter in operation. Station is built on the same public APIs that integrators use, so everything you can do in Station you can also do programmatically, and the platform exposes more than Station shows.
Station runs as the fm-station container of the Face Matcher Compose project and listens on host port 8000 (http://localhost:8000 after start.sh finishes). It has no database of its own: it talks to the platform services over the Compose network, receiving live events through GraphQL subscriptions and reading and writing data through the REST API and GraphQL queries. The addresses are set in .env.station as CORE_API_ROOT=http://api:8080/api/v1 and GRAPHQL_ROOT=http://graphql-api:8080/graphql. Images shown in the browser are fetched straight from the S3 storage through presigned URLs, which is why the storage must also be reachable from the operator's browser (see Configuration).
What you can do in Station
| Page | What it is for |
|---|---|
| Live monitoring | Two live camera previews with bounding boxes and a feed of recent face, pedestrian and object events; open any event to see its images and metadata, and enrol an unknown face from there. |
| Identify a face | One-off 1:N identification of an uploaded photo or a capture from the device camera against the watchlists. |
| Event history | Search and filter every stored event, including searching the history by a reference face image. |
| Manage watchlists and Bulk enrollment | Create watchlists, set their matching threshold and colour, register members one by one or from a folder of images. |
| Cameras and Edge streams | Register RTSP cameras processed on the server and edge streams from smart cameras, enable or disable them and tune their processing. |
| Settings | Station preferences (timezone, language, score display) plus the platform settings exposed in Station: data storage, watchlist autolearn, data retention, licence and versions. |
The remaining pages in this section are for whoever deploys Station rather than for operators: Roles and presets restricts what a user sees, Branding replaces the product name and logos, and Configuration lists every setting in .env.station.
Where Station fits
Station is a client of the platform, not part of the processing pipeline. Cameras, detection, extraction and matching run in the engine services whether or not anybody has Station open; Station only visualises the results and edits configuration through the APIs. If you build your own operator front end you can replace Station entirely, and if you integrate Face Matcher into a larger stack the Station container is reachable inside the Compose network as fm-station:8000. How the engine services work is described in the Face Matcher Server manual; the APIs Station uses are documented under Integration.
The availability of some functions depends on your licence and on deployment settings: the identification page can be switched off with STATION_IDENTIFICATION=false in .env, taking photos with the device camera needs HTTPS and DOT_FACE_CAMERA_ENABLED=true, and roles can hide whole pages. If a part of Station described here is missing in your deployment, check those settings first.