Guia de Instalação¶
Procedimento de Instalação¶
1. Instalação do Docker
Siga os passos de instalação do Docker. Por exemplo, para sistema operacional Linux CentOS, o procedimento de instalação se encontra aqui.
2. Instalação do Docker Compose
Siga os passos de instalação do Docker compose.
Aviso
Para obter as imagens docker é necessário ter acesso à rede corporativa do CPQD e ao repositório cpqd-docker. O download das imagens será feito nos passos adiante.
3. Criação da estrutura de diretórios
Nota
Esse procedimento assume que serão utilizado o disco /l/disk0 para a persistência do MongoDB e InfluxDB.
Organização de pastas proposta.
l └──disk0 ├──influxdb ├──mongodb └──trd ├──docker-compose.yml └──.env
Crie a pasta de persistência para o MongoDB em /l/disk0/mongodb.
$ mkdir -p /l/disk0/mongodb && \ chmod 775 -R /l/disk0/mongodb
Crie a pasta de persistência para o InfluxDB em /l/disk0/influxdb.
$ mkdir -p /l/disk0/influxdb && \ chmod 775 -R /l/disk0/influxdb
Crie a pasta a trd onde deveram estar o script de inicialização e o docker-compose do projeto /l/disk0/trd.
$ mkdir -p /l/disk0/trd && \ chmod 775 -R /l/disk0/trd
4. Organização e configuração do Nó de Controle
Faça download do arquivo docker-compose.yml.
Crie o arquivo .env com as variáveis de ambiente:
# hostname ND_CONTROL_HOST=000.cpqd.com.br # Hostname do nó de controle ### Versão ### TRD_VERSION=3.3.0 ### Repo Docker imagem ### DOCKER_IMAGE_PATH=artifactory.cpqd.com.br/docker/cpqd/trd ### Parâmetros dos volumes mapeados no host ### TRD_MONGODB=/l/disk0/mongodb TRD_INFLUXDB=/l/disk0/influxdb TRD_LOG=/var/log/cpqd/ ### Volume com arquivos para inicialização do nó de processamento ### TRD_CREDENTIALS=/l/disk0/credentials ### Parâmetros de licença ### LICENSE_HOST=sl.cpqd.com.br # Production environment DIARIZATION_LICENSE_ID= # Production License TRD aqui! ASR_LICENSE_ID= # Production License ASR ASR_LICENSE_CHANNELS=4 SL_TAG="dev" #Descrição da máquina SL_HOSTNAME=${HOSTNAME} # Versões dos workers: classificadores de fala WORKER_EMOTION_VERSION=8k-ura_10-v1 WORKER_GENDER_VERSION=8k-ura_2-v1 WORKER_AGE_VERSION=8k-ura_ordinal-v0 ### Parâmetros gerais ### PROFILE="prod" MONGODB=mongodb://${ND_CONTROL_HOST}:27017 REDIS_HOST=${ND_CONTROL_HOST} REDIS_PORT=6379 RABBIT_HOST=${ND_CONTROL_HOST} RABBIT_PORT=5672 RABBIT_MANAGEMENT_PORT=15672 RABBIT_USER=guest RABBIT_PWD=guest TIMEZONE="America/Sao_Paulo" VALID_EXTENSION_FORMATS='[".wav", ".mp3", ".flac", ".wma", ".mp4", ".avi", ".flv", ".mkv", ".mov", ".mpg", ".wmv"]' MAX_AUDIO_SIZE_BYTES=2147483648 #2Gbyte MONGODB_CACHE_GB="0.1" EMPTY_QUEUE_TIMEOUT=1800 # 30 minutes JOB_TTL_IN_MINUTES=7200 # 5 days ASR_MODEL_TAG=callcenter-small # options: callcenter-small or custom-small ASR_LM_URI=builtin:slm/${ASR_MODEL_TAG} CLUSTER_TH=-.4 BACKEND_CORS_ORIGINS='["http://localhost", "http://localhost:8000", "https://localhost", "https://localhost:8000"]' EMPTY_QUEUE_INTERVAL=60 # 60 seconds ### Parâmetros usados com aws ### AWS_REGION="" SPOT_TARGET_CAPACITY=1 # Quantidade de instancias (spots) ### Parâmetros usados com gcp ### GCP_ZONE="" GCP_PROJECT_ID="" ### Parâmetros usados com aws ou gcp ### #NODES='"node001", "node002"' # Nomes dos nós de processamento, descomente para habilitar NODES_CONFIG={"nodes": [${NODES}], "timeout": {"start": 30, "stop": 300}} ### AWS Cloud ### AWS_CONFIG={"region": "${AWS_REGION}"} AWS_SPOT_FLEET_CONFIG={"spot_fleet_conf_file": "/home/credentials/config.json", "spot_user_data_file": "/home/credentials/start.sh", "target_capacity": "${SPOT_TARGET_CAPACITY}"} ### Google Cloud ### GCP_CONFIG={"project": "'${GCP_PROJECT_ID}'", "zone": "'${GCP_ZONE}'"} ### Configuração do ASR Server ### ASR_SERVER_URL=ws://asr-server:8025/asr-server/asr ASR_WORD_HINTS="" ASR_REMOVE_UNK=false ASR_PRE_LOAD_MODELS=${ASR_LM_URI} ### Webhook ### ALLOW_HTTP_WEBHOOKS=false # Disable webhooks HTTP ### InfluxDB ### INFLUX_DATABASE="metrics" INFLUXDB_USER="trd" INFLUXDB_PASSWORD="EB87aiOXV52O9ZGunF1Wm" INFLUXDB_ADMIN_USER="admin" INFLUXDB_ADMIN_PASSWORD="jsOrR3GGd8UyBdOCRQ" INFLUX_INIT={"host": "${ND_CONTROL_HOST}", "port": 8086, "db": "${INFLUX_DATABASE}", "active": "true"}
Iniciando e parando os serviços¶
Para iniciar os serviços do Nó de Controle:
$ docker-compose up -d
Para iniciar os serviços do Nó de Processamento:
$ docker-compose up -d vad-executor clustering-executor recognition-executor asr-serve
Para parar os serviços:
$ docker-compose down
Visualizando os logs¶
Para visualizar os logs dos containers Docker, utilize os comandos abaixo.
$ docker-compose logs [service-name]