For the complete documentation index, see llms.txt. This page is also available as Markdown.

Installation and deployment of the service

1. Introduction

The service is containerized, and there is a Docker image in a Facephi repository.

docker login facephicorp.jfrog.io
user: username
pass: token
docker pull facephicorp.jfrog.io/docker-pro-fphi/facephi-selphid-sdk:#VERSION#

Where #VERSION# is the specific version number you want to download (e.g. 6.21.0).

2. docker-compose

One way to deploy the service is to create a file docker-compose.yml with the following content, modifying the value of the variables as needed.

version: '3.7'

services:
  selphid-service:
    ports:
      - "8080:8080"
    volumes:
      -  /home/user/selphid/config:/app/selphid-sdk/config
    image: facephicorp.jfrog.io/docker-pro-fphi/facephi-selphid-sdk:#VERSION#
    container_name: facephi-selphid-sdk

First, you must create a user directory with read and write permissions, for example /home/user/selphid/config, and place these two files:

  • The License file license.lic (required).

  • The service configuration file config.json (optional).

In the same directory, the service will write the log files.

Run the following command, inside the folder where the file is located docker-compose.yml, to deploy the service:

3. Additional configuration

Following the steps in the section 2, the service is ready to start. If you need to create additional volumes for the different types of assets, you can follow these additional configurations.

3.1 License

You can mount an additional volume and define the environment variable LICENSE_PATH, if you want to install the license outside the usual configuration directory.

LICENSE_PATH is a folder with the license.lic and read and write permissions. In this example, /home/user/license/license.lic.

3.2 Service

If you need to configure the service, you must provide a file config.json, as described in the section 2. If you want to place this file in an additional volume:

CONFIG_FILE is the path to the configuration file in the additional volume.

If no config.json, these default values will be used:

JWT authentication is optional and disabled by default. When enabled, GET /api/v1/selphid/health and GET /api/v1/selphid/version remain public, while the rest of the endpoints require a valid HS256 JWT with an exp claim exp not expired.

Starting with version 6.19.0, these environment variables are added, which allow setting the values of config.json:

JWT authentication parameters can only be set at startup:

  • Set them in config.json or in the environment variables FACEPHI_SELPHID_REST_AUTH_* before the service starts.

  • GET /api/v1/selphid/config never returns those JWT authentication keys.

  • POST /api/v1/selphid/config rejects those keys and cannot be used to modify them at runtime.

3.3 Debug and usage path

Finally, you can specify a specific volume/path with read and write permissions for the SDK debug information and the SDK usage data, using the environment variables DEBUG_PATH and USAGE_PATH:

Last updated