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

Service installation and deployment

1. Installation and deployment

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-voice-service:#VERSION#

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

2. docker-compose

One way to deploy the service is to create a file docker-compose.yml with the following content:

version: '3.7'

services:
  voice-service:
    ports:
      - "6982:6982"
    volumes:
      - ~/facephi_voice_config:/service/config
      - ~/facephi_voice_config:/service/logs
    image: facephicorp.jfrog.io/docker-pro-fphi/facephi-voice-service:$VERSION
    container_name: facephi-voice-service
    environment:
      # Optional JWT protection
      # - FACEPHI_VOICE_REST_AUTH_ENABLED=true
      # - FACEPHI_VOICE_REST_AUTH_JWT_SECRET=shared-secret
      # - FACEPHI_VOICE_REST_AUTH_ACCEPT_AUTHORIZATION_HEADER=true
      # - FACEPHI_VOICE_REST_AUTH_ACCEPT_API_KEY_HEADER=true
      # - FACEPHI_VOICE_REST_AUTH_API_KEY_HEADER_NAME=x-api-key

Note the volumes that are mounted in the container. These volumes are used to store the service configuration and license files, and to write the logger output.

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

3. Configuration

3.1 License and resources configuration

To use this service, you need to have a valid configuration file.

The configuration file could contain the following information:

The configuration and license file can be passed as a parameter to the service. By default, the service will look for a file called /service/config/config.cfg. In the case of the Docker container, the configuration file could be located in a volume mounted at /service/config.

3.2 Service configuration

The configuration file could contain the following information:

The configuration file can be passed as a parameter to the service. By default, the service will look for a file called /service/config/config.json. In the case of the Docker container, the configuration file could be located in a volume mounted at /service/config.

JWT authentication is optional and disabled by default. The startup settings above can also be provided through environment variables with the prefix FACEPHI_VOICE_REST_AUTH_:

  • FACEPHI_VOICE_REST_AUTH_ENABLED

  • FACEPHI_VOICE_REST_AUTH_JWT_SECRET

  • FACEPHI_VOICE_REST_AUTH_ACCEPT_AUTHORIZATION_HEADER

  • FACEPHI_VOICE_REST_AUTH_ACCEPT_API_KEY_HEADER

  • FACEPHI_VOICE_REST_AUTH_API_KEY_HEADER_NAME

When JWT is enabled, GET /api/v1/version, GET /api/v1/health and preflight requests OPTIONS remain public. The rest of the endpoints require a valid JWT via Authorization: Bearer <jwt> or the configured API key header.

JWT startup settings apply only when the service starts. GET /api/v1/config does not expose these fields and POST /api/v1/config rejects attempts to modify them.

3.3 Network configuration

To be able to connect to our license servers, you must add the following rules to your firewall rules:

IP
Port
Type

52.223.22.71

443

TCP/IP

35.71.188.31

443

TCP/IP

75.2.113.112

443

TCP/IP

99.83.149.57

443

TCP/IP

Next, add the following DNS to your whitelist:

Last updated