Skip to content

Troubleshooting

import { Aside } from ‘@astrojs/starlight/components’;

Cannot connect to the Docker daemon

Start Docker Desktop (macOS/Windows) or sudo systemctl start docker (Linux).

Bind for 0.0.0.0:8080 failed: port is already allocated

Stop whatever is using port 8080 (lsof -i :8080), or override the port:

Terminal window
UFME_SERVER_PORT=9090 make demo

If the Rust shard container fails to build on M1/M2/M3 Macs, ensure Docker Desktop has “Use Rosetta for x86_64/amd64 emulation” disabled (Settings > General). The containers build natively for arm64.

The first run downloads ~700 MB. On slow connections, download models separately first:

Terminal window
make models # download models only
make demo # then start the stack

The image contains no face, or the face is too small / blurred / angled for the detector. Try a front-facing photo where the face occupies at least 20% of the image area.

The face did not meet the minimum quality threshold. Common causes: blur, occlusion (sunglasses, masks), extreme lighting, very low resolution.

To temporarily lower the threshold for testing:

Terminal window
UFME_THRESHOLD_QUALITY=0.25 make demo

The PAD model classified the image as a spoof (printed photo, screen replay, mask). If you are testing with a photograph of a photograph, this is expected behaviour.

  1. Check the gallery is populated: curl http://localhost:8080/api/v1/gallery
  2. Verify you are querying the correct partition
  3. Lower the similarity threshold: "threshold": 0.3 in the metadata
  4. Ensure the probe image contains the same person as an enrolled template

Ensure Python 3.12+ and uv are installed:

Terminal window
python3 --version # must be 3.12+
uv --version # https://docs.astral.sh/uv/
error: could not find `faiss` via pkg-config

Install FAISS headers: brew install faiss (macOS) or build from source (Linux). If you only need the Python pipeline, skip Rust entirely — unit tests do not require it.

Terminal window
make install # re-sync all dependencies
.venv/bin/pytest tests/unit/ -x

Check logs: docker compose -f deploy/docker/docker-compose.demo.yml logs shard-0

Common causes: FAISS library missing (build issue), insufficient memory (each shard needs ~1 GB for demo), or the data volume is not writable.

Each shard needs roughly gallery_size * 64 bytes of RAM for the PQ index. A 10M gallery needs ~1 GB per shard; 200M needs ~15 GB per shard. Increase Docker’s memory in Docker Desktop > Settings > Resources.