1. Get the models
The service needs two ONNX models: a face detector and a face embedder. Fetch both with the provided script:
Both files land in
./models/. This directory is git-ignored — models are
fetched at build/deploy time, not committed. Do this before docker build — the Docker image bakes these files in (see the Docker tab
below), so an empty models/ produces a broken image.
See Models for exactly what these models expect as input, why
these specific ones were chosen, and what got ruled out along the way.
2. Choose a build path
- Docker (recommended)
- Local build
No local toolchain needed — everything (Drogon, OpenCV, ONNX Runtime)
builds inside the image, and the models are baked in too, so the
resulting image is a single, self-contained, plug-and-play artifact —
push it to any cloud host and just start the container:No volume mount, no separate model-fetch step on the target host.
Prefer a smaller, model-agnostic image instead (e.g. to swap models
without a rebuild)? See Deployment → Baking in
models for the one-line change to mount
them at runtime instead.
3. Confirm it’s up
503 instead, the models are still loading — see
Health & Readiness.