community-containers - add facerecognition

Signed-off-by: Simon L <szaimen@e.mail.de>
This commit is contained in:
Simon L 2024-01-04 00:39:58 +01:00
parent 5ca8025dcd
commit bd3fc82923
3 changed files with 41 additions and 1 deletions

View file

@ -0,0 +1,29 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-facerecognition",
"display_name": "Computing container for facerecognition",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/facerecognition",
"image": "matiasdelellis/facerecognition-external-model",
"image_tag": "initial",
"internal_port": "5000",
"restart": "unless-stopped",
"environment": [
"TZ=%TIMEZONE%",
"API_KEY=some-super-secret-api-key"
],
"aio_variables": [
"nextcloud_memory_limit=4096M"
],
"nextcloud_exec_commands": [
"php /var/www/html/occ app:install facerecognition",
"php /var/www/html/occ app:enable facerecognition",
"php /var/www/html/occ config:system:set facerecognition.external_model_url --value nextcloud-aio-facerecognition:5000",
"php /var/www/html/occ config:system:set facerecognition.external_model_api_key --value some-super-secret-api-key",
"php /var/www/html/occ face:setup -m 5",
"php /var/www/html/occ face:setup -M 4G",
"php /var/www/html/occ face:background_job &"
]
}
]
}

View file

@ -0,0 +1,11 @@
## Facerecognition
This container bundles the external model of facerecognition and auto-configures it for you.
### Notes
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/matiasdelellis/facerecognition-external-model
### Maintainer
https://github.com/matiasdelellis

View file

@ -663,7 +663,7 @@ Some Nextcloud apps require additional php extensions that must be bundled withi
You can do so by adding `--env NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS="imagick extension1 extension2"` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must be a string with small letters a-z, digits 0-9, spaces, dots and hyphens or '_'. You can find available extensions here: https://pecl.php.net/packages.php. By default `imagick` is added. If you want to keep it, you need to specify it as well.
### What about the pdlib PHP extension for the facerecognition app?
The [facerecognition app](https://apps.nextcloud.com/apps/facerecognition) requires the pdlib PHP extension to be installed. Unfortunately, it is not available on PECL nor via PHP core, so there is no way to add this into AIO currently. However you can vote up [this issue](https://github.com/goodspb/pdlib/issues/56) to bring it to PECL and there is the [recognize app](https://apps.nextcloud.com/apps/recognize) that also allows to do face-recognition.
The [facerecognition app](https://apps.nextcloud.com/apps/facerecognition) requires the pdlib PHP extension to be installed. Unfortunately, it is not available on PECL nor via PHP core, so there is no way to add this into AIO currently. However you can use [this community container](https://github.com/nextcloud/all-in-one/tree/main/community-containers/facerecognition) in order to run facerecognition.
### How to enable hardware-transcoding for Nextcloud?
⚠️⚠️⚠️ Warning: this only works if the `/dev/dri` device is present on the host! If it does not exists on your host, don't proceed as otherwise the Nextcloud container will fail to start! If you are unsure about this, better do not proceed with the instructions below.