Docker Compose
Use este caminho se você executar a stack completa do Oz API (api6) via Docker Compose. Echo é um de vários serviços que o api6 inicializa; este guia cobre as partes específicas do Echo desse processo. Parte-se do princípio de que você já está seguindo o README próprio do api6 para a stack base – os passos abaixo são o subconjunto que importa para Echo.
Conceitos compartilhados (autenticação, endpoints, referência de configuração) podem ser encontrados na página pai.
Pré-requisitos
Docker Compose v2.20.3 ou mais recente (os arquivos de compose usam a chave include:)
O conteúdo da release do api6 organizado em um diretório de instalação, por exemplo,
/opt/oz/api6.Todos os comandos abaixo devem ser executados a partir desse diretório de instalação – a descoberta de serviços entre arquivos (nginx → Echo → Mongo) depende de cada invocação do compose compartilhar a mesma rede padrão, que o Compose deriva do diretório de trabalho
Gerar o par de chaves JWT do Oz API
Echo usa a public metade pública desse par de chaves para verificar tokens emitidos pela API principal.
openssl ecparam -name secp384r1 -genkey -noout | openssl pkcs8 -topk8 -nocrypt \
-out "$API_DIR/configs/api/keys/jwt/jwt.key"
openssl ec -in "$API_DIR/configs/api/keys/jwt/jwt.key" -pubout \
-out "$API_DIR/configs/api/keys/jwt/jwt.pub"(Opcional) Usuários/tokens estáticos do Echo
Edite estes – vazios por padrão:
configs/echo/service.toml– lista de contas permitidas a chamar, separadas por vírgulasGET /api/event_sessions.configs/echo/static_tokens.toml– tokens bearer pré-compartilhados de "email" = "token".configs/echo/users.toml– contas de login de "email" = "password".
Inicie a API principal, depois o Echo
cd "$API_DIR"
docker compose -f ./docker/docker-compose-api-local-local.yml up -d # ou -local-s3.yml para armazenamento S3
docker compose -f ./docker/docker-compose-echo-maxwell.yml up -dIsso inicia três contêineres: api6-echo, api6-mongo (compartilhado com Maxwell) e api6-maxwell.
Como o Echo é acessado
Echo não não publica uma porta de host nesta configuração. Ele é encaminhado por proxy reverso através de api6-nginx, controlado por duas variáveis em configs/env/nginx.env:
ECHO_ENABLE="Yes"
ECHO_HOST="api6-echo"Para desativar Echo, comente as duas linhas (confirme isso primeiro com o suporte da Oz Forensics, pois ele é tratado como um componente essencial).
Verificação
Através do Nginx, externamente:
curl https://<your-api-host>/api/event_sessions/... # via o caminho/porta com o qual seu nginx estiver configuradoDiretamente, de dentro da rede Docker (útil para uma verificação rápida sem passar por nginx/TLS):
Atualizado
Isto foi útil?
