Linux
Faceplugin Face Recognition API for Linux Docker. On-premise detect, match, and similarity on port 8083. Offline after license activation.
Fully on-premise Face Recognition API for Linux / Docker. Image: faceplugin/face-recognition. Default port 8083.
This product is recognition only. For recognition and liveness in the same container, use Face Recognition + Liveness Linux SDK (faceplugin/face-recognition-liveness-sdk). Or run Face Liveness Detection Linux SDK on port 8084 as a second container.
All processing stays on your server. No biometric data is sent to Faceplugin cloud.
Code
Setup
Sizing: Hosting requirements.
Run multiple containers with one license
You only need this section if you want to run multiple Face Recognition containers on the same Linux host.
On Linux, mount /etc/machine-id into each container so they use the same machine code. Each container must have a different container name and host port.
For example:
Activate each container with the same license key (POST /api/activate on each host port).
On Docker Desktop (macOS/Windows), omit the /etc/machine-id volume. Each container may require its own license.
Other ways to run
Option B — Docker Compose (local build)
Put the Google Drive runtime files directly in lib/cpu/, then:
Option C — Native Linux (no Docker)
Same lib/cpu/ layout. Needs glibc 2.38+ (for example Ubuntu 24.04).
License
Licenses are offline. Request a License & Support.
Try it
Postman: import postman/FaceRecognition-API.postman_collection.json from the repo. Base URL http://127.0.0.1:8083. Paths have no /v1.
Gradio (host only): the Docker image is API-only. On the host:
Open http://127.0.0.1:9003. Tabs: Detect, Quality, Match.
Integrate into your own app
HTTP (app.py)
Any language. Keep this API running and POST base64 JPEGs.
sdk.py
Python on the same Linux host as lib/cpu/ (or inside the container).
You do not need Gradio in production.
APIs
GET /api/health
Process is listening (no license)
GET /api/machinecode
Machine code
GET /api/licenseStatus
License status
GET /api/backend
"cpu"
POST /api/activate
Activate and init_sdk()
POST /api/detect
Detect faces
POST /api/quality
Quality checks
POST /api/feature
Extract template
POST /api/match
Compare two photos
POST /api/similarity
Compare two templates
Full reference: Face Recognition HTTP API. Shared control routes: Shared endpoints.
Some routes wrap the result in a small JSON object (an envelope). Process POSTs return engine JSON as the body. There is no POST /api/identify (no server-side 1:N gallery).
Python:
Call order: get_machine_code → activate → init_sdk → detect / quality / feature / match / similarity.
Request a License & Support · Contact us
FAQ
Is this a Face Recognition API? Yes. Docker image faceplugin/face-recognition, port 8083: POST /api/detect, /api/match, /api/similarity.
Machine code? GET /api/machinecode returns machine code. Docker and host codes differ.
Server-side 1:N? No. There is no POST /api/identify gallery.
Related documentation
Last updated