Seafile 13 Docker (seafile-mc:13.0-latest): face recognition runs but clustering is skipped because scikit-learn is missing

Hi Seafile team,

i upgraded from Seafile 12 to 13 (Docker) and enabled AI + face recognition.

Environment

  • Seafile image: seafileltd/seafile-mc:13.0-latest
  • Deployment: Docker Compose
  • Seafile AI enabled
  • External face-embedding service enabled and reachable
  • Redis configured and reachable

Issue
Face recognition starts and processes images, but person clustering does not work reliably.
In face_recognition.log I saw:

[WARNING] Package scikit-learn is not installed.

At the same time, the job is marked as finished:

  • “updated face_vectors rows count: 63”
  • “Finish face cluster repo …”

So vectors are generated, but clustering appears skipped when scikit-learn is missing.

Reproduction

  1. Deploy Seafile 13 with seafileltd/seafile-mc:13.0-latest
  2. Enable face recognition for a library with images
  3. Check /shared/seafile/logs/face_recognition.log
  4. Observe warning: Package scikit-learn is not installed.

Expected
Face recognition + clustering should work out of the box with official Docker image.

Actual
Clustering dependency (scikit-learn) is missing in the container image.

Temporary workaround
Running this inside seafile.main fixed it immediately:
pip3 install --no-cache-dir scikit-learn
After container restart, clustering runs without the warning.

Could you please check the image packaging and include required dependency for face clustering by default?

Thanks.

Thanks for reporting the issue. We will give it a check.

1 Like

The fix will be included in the next 13.0 release.

1 Like