Vamos preparar o FindFace para trabalhar com SSL/HTTPS. Leia com atenção as orientações e comandos
-
No servidor principal criaremos o diretorio de configurações do Nginx com o subdiretorio que conterá o SSL(certificado e chave).
sudo mkdir -p /etc/nginx/ssl/
-
Crie a chave SSL e o certificado e coloque na pasta criada (/etc/nginx/ssl). Caso esteja usando certificados auto gerenciados, use o seguinte comando:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/my-example-domain.com.key -out /etc/nginx/ssl/my-example-domain.com.crt
Você será questinado sobre algumas informações sobre seu servidor a fim de gravar as informações corretamente no certificado. A pergunta mais importante será sobre o Common Name. Você precisa digitar o nome de domínio ou o IP público que será associado ao seu servidor. Ambos os arquivos criados(my-exmple-domain.com.key e my-example-domain.com.crt) estarão na pasta(/etc/nginx/ssl)
FindFace Video Worker
Ao usar CA-certificate, adicione o caminho do certificado aos volumes do serviço docker(no caso o findface-video-worker), adicione o comando de instalação e atulização do CA-certificate no serviço findface-video-worker.
-
Abra o arquivo docker-compose.yaml
sudo vi /opt/findface-multi/docker-compose.yaml
-
Localize o serviço findface-video-worker e ajuste-o para que se pareça com o exemplo abaixo
-
CPU
findface-video-worker: entrypoint: ["sh", "-c", "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes ca-certificates && update-ca-certificates && exec /tini -- /findface-video-worker-cpu --config=/etc/findface-video-worker.yaml"] depends_on: [findface-video-manager, findface-ntls, mongodb] image: docker.int.ntl/ntech/universe/video-worker-cpu:ffserver-8.221216 logging: {driver: journald} network_mode: service:pause restart: always volumes: ['./configs/findface-video-worker/findface-video-worker.yaml:/etc/findface-video-worker.yaml:ro', './models:/usr/share/findface-data/models:ro', './cache/findface-video-worker/models:/var/cache/findface/models_cache', './cache/findface-video-worker/recorder:/var/cache/findface/video-worker-recorder', '/etc/nginx/ssl/my-example-domain.crt:/usr/local/share/ca-certificates/my-example-domain.crt:ro']
-
GPU (Somente adicionar o caminho do certificado e atualizar o CA-certificate)
findface-video-worker: entrypoint: ["sh", "-c", "update-ca-certificates && exec /tini -- /findface-video-worker-gpu --config=/etc/findface-video-worker.yaml"] depends_on: [findface-video-manager, findface-ntls, mongodb] environment: [CUDA_VISIBLE_DEVICES=0] image: docker.int.ntl/ntech/universe/video-worker-gpu:ffserver-8.221216 logging: {driver: journald} network_mode: service:pause restart: always runtime: nvidia volumes: ['./configs/findface-video-worker/findface-video-worker.yaml:/etc/findface-video-worker.yaml:ro', './models:/usr/share/findface-data/models:ro', './cache/findface-video-worker/models:/var/cache/findface/models_cache', './cache/findface-video-worker/recorder:/var/cache/findface/video-worker-recorder', '/etc/nginx/ssl/my-example-domain.crt:/usr/local/share/ca-certificates/my-example-domain.crt:ro']
-
Para versões na CPU, a inicialização do serviço findface-video-worker(responsável pelas câmeras) vai demorar aproximadamente 15 segundos a mais.