Pular para o conteúdo principal

Variáveis de ambiente

Esta página lista as variáveis de ambiente úteis para instalar, operar, diagnosticar e empacotar o Toposync.

Ela não é um dump completo de todos os ajustes internos. Prefira a UI e a API para configuração normal do produto, e use variáveis de ambiente para comportamento de processo: portas, diretório de dados, modo de autenticação, Docker, servidores de processamento e runtime de mídia.

Para instalação, comece por Escolha sua instalação. Para caminhos de arquivos, veja Locais de arquivos. Para portas, veja Portas.

Como usar

Para execuções pontuais no terminal:

TOPOSYNC_DATA_DIR=./toposync-data toposync serve

Para serviços de longa duração, defina as variáveis no gerenciador de serviços, Docker Compose, ambiente do add-on Home Assistant ou instalador do serviço Windows.

Prefira flags de linha de comando quando existir uma flag suportada:

toposync serve --host 0.0.0.0 --port 8000 --data-dir ./toposync-data

Variáveis mais comuns

VariávelValor típicoFunção
TOPOSYNC_DATA_DIR/data, ./toposync-dataSobrescreve onde o Toposync armazena configuração, arquivos, runtime e dados de extensões.
TOPOSYNC_BACKEND_PORT8000Porta padrão de toposync serve quando --port não é passado.
TOPOSYNC_PROCESSING_PORT49321Porta padrão de toposync processing-serve quando --port não é passado.
TOPOSYNC_AUTH_MODEenforced, bypass, ingress, hybridSeleciona o modo de autenticação. Use bypass somente em desenvolvimento local.
TOPOSYNC_FRONTEND_DIR/caminho/para/frontend/distUsa um frontend externo já compilado em vez do frontend empacotado. Útil para desenvolvimento e diagnóstico de empacotamento.
TOPOSYNC_NO_FRONTEND1Desativa o serviço do frontend. Útil para diagnóstico apenas de API.
TOPOSYNC_PROCESSING_USERNAMEtoposyncAtiva Basic Auth no servidor de processamento.
TOPOSYNC_PROCESSING_PASSWORDsenha forteAtiva Basic Auth no servidor de processamento.
TOPOSYNC_STREAMING_FFMPEG_PATH/usr/bin/ffmpegAponta a extensão de streaming para um binário FFmpeg.
TOPOSYNC_VISION_ONNXRUNTIME_PROVIDERSCUDAExecutionProvider,CPUExecutionProviderSobrescreve a ordem de providers do ONNX Runtime para diagnóstico avançado.

Runtime principal

VariávelPadrãoObservações
TOPOSYNC_DATA_DIRDiretório de dados da plataformaMesmo efeito de --data-dir.
TOPOSYNC_BACKEND_PORT8000Usado por toposync serve se --port for omitido.
TOPOSYNC_PROCESSING_PORT49321Usado por toposync processing-serve se --port for omitido.
TOPOSYNC_ROLESelecionado automaticamenteDefinido como processing por toposync processing-serve. Normalmente não defina manualmente.
TOPOSYNC_FRONTEND_DIRFrontend empacotadoSobrescreve o local do frontend de produção.
TOPOSYNC_NO_FRONTENDNão definidoQualquer valor não vazio desativa o frontend.
TOPOSYNC_EXTENSION_AUTO_INSTALL_ON_STARTUP1Defina 0 para desativar verificações de auto-instalação de extensões no startup.
TOPOSYNC_ARTIFACT_MAX_BYTES_PER_PACKET134217728Limite avançado de transporte de artefatos de pipeline.
TOPOSYNC_ARTIFACT_MAX_TOTAL_BYTES_PER_PIPELINE536870912Limite avançado de artefatos por pipeline.
TOPOSYNC_ARTIFACT_MAX_TOTAL_BYTES_GLOBAL1073741824Limite global avançado de artefatos.

Autenticação

VariávelPadrãoObservações
TOPOSYNC_AUTH_MODEenforcedUse enforced em instalações normais, bypass em desenvolvimento local, ingress atrás de proxy confiável, ou hybrid no Home Assistant.
TOPOSYNC_AUTH_COOKIE_SECUREautoDefina true ou false apenas quando o deploy exigir política explícita de cookie.
TOPOSYNC_AUTH_ACCESS_TTL_S1800Tempo de vida do token de acesso, em segundos.
TOPOSYNC_AUTH_REFRESH_TTL_S7776000Tempo de vida do refresh token, em segundos.
TOPOSYNC_AUTH_PAIRING_TTL_S300Tempo de vida do código de pareamento, em segundos.
TOPOSYNC_AUTH_REFRESH_ROTATION_GRACE_S30Janela de tolerância para rotação de refresh token.
TOPOSYNC_AUTH_EVENT_ALLOWLISTPadrões internosAllowlist avançada de autenticação para event streams.
TOPOSYNC_AUTH_SCRYPT_NPadrão internoCusto avançado do hash de senha.
TOPOSYNC_AUTH_SCRYPT_RPadrão internoCusto avançado do hash de senha.
TOPOSYNC_AUTH_SCRYPT_PPadrão internoCusto avançado do hash de senha.

Autenticação via ingress e Home Assistant:

VariávelPadrãoObservações
TOPOSYNC_AUTH_INGRESS_USER_ID_HEADERx-remote-user-idHeader que identifica o usuário do ingress.
TOPOSYNC_AUTH_INGRESS_USERNAME_HEADERx-remote-user-nameHeader com o nome de usuário.
TOPOSYNC_AUTH_INGRESS_DISPLAY_NAME_HEADERx-remote-user-display-nameHeader com o nome de exibição.
TOPOSYNC_AUTH_INGRESS_ROLEownerPapel atribuído a usuários via ingress.
TOPOSYNC_AUTH_INGRESS_TRUSTED_IPSLocalhost e padrões do Supervisor Home AssistantLista separada por vírgula de proxies/IPs confiáveis.
TOPOSYNC_AUTH_INGRESS_ENFORCE_TRUSTEDtrueRejeita headers de ingress vindos de clientes não confiáveis quando ativo.

Servidores de processamento

VariávelPadrãoObservações
TOPOSYNC_PROCESSING_USERNAMENão definidoAtiva Basic Auth quando definida.
TOPOSYNC_PROCESSING_PASSWORDNão definidoAtiva Basic Auth quando definida.
TOPOSYNC_PROCESSING_SERVER_IDDepende do instalador/runtimeIdentifica um servidor para roteamento distribuído e afinidade de streaming.
TOPOSYNC_PROCESSING_STATUS_DIAGNOSTICS_TIMEOUT3.5Timeout usado ao coletar diagnósticos de processamento.
TOPOSYNC_PROCESSING_OBSERVABILITY_FLUSH_INTERVAL_MSPadrão internoIntervalo avançado de flush de observabilidade.
TOPOSYNC_PROCESSING_OBSERVABILITY_BATCH_SIZEPadrão internoTamanho avançado de lote de observabilidade.
TOPOSYNC_PROCESSING_OBSERVABILITY_MAX_BUFFERPadrão internoLimite avançado do buffer de observabilidade.

Docker e builds

VariávelUsado porObservações
TOPOSYNC_PORTdocker-compose.ymlPorta do host mapeada para a porta 8000 do container.
TOPOSYNC_DATA_VOLUMEdocker-compose.ymlCaminho do host montado em /data. Padrão: ./toposync-data.
TOPOSYNC_DOCKER_TARGETdocker-compose.ymlTarget de build. Padrão: runtime-cpu; CUDA usa runtime-cuda.
TOPOSYNC_APT_PACKAGESDockerfilePacotes Debian extras instalados na imagem, por exemplo ffmpeg.
TOPOSYNC_EXTRA_WHEELSDockerfilePadrões de wheels extras copiados de /wheelhouse.
TOPOSYNC_EXTRA_PIP_PACKAGESDockerfilePacotes Python extras instalados durante o build da imagem.
TOPOSYNC_INSTALL_WHEELDockerfilePadrão do wheel principal instalado de /wheelhouse.
TOPOSYNC_ENV_FILEscripts/dev.jsArquivo de ambiente alternativo para desenvolvimento local.

Add-on Home Assistant

A maioria dos usuários deve configurar o add-on pela UI do Home Assistant. Estas variáveis descrevem o contrato de runtime usado pelo container do add-on.

VariávelValor típicoObservações
TOPOSYNC_DEPLOYMENT_TARGEThome_assistant_addonMarca o runtime como add-on Home Assistant.
TOPOSYNC_DATA_DIR/dataDiretório de dados do add-on dentro do container.
TOPOSYNC_AUTH_MODEhome_assistant_hybridPermite ingress com autenticação do Home Assistant e acesso direto com autenticação do Toposync.
TOPOSYNC_HOME_ASSISTANT_CONNECTION_MODEsupervisorUsa a API do Supervisor de dentro do add-on.
SUPERVISOR_TOKENFornecido pelo Home AssistantToken injetado pelo Supervisor; não crie manualmente.
TOPOSYNC_ADDON_NETWORK_SNAPSHOT_PATH/data/runtime/streaming/addon-network.jsonSnapshot de runtime usado por diagnósticos de streaming.
TOPOSYNC_ADDON_PUBLIC_HOSTSHostnames/IPs da rede localHosts extras anunciados para WebRTC e acesso direto.
TOPOSYNC_EXPECTED_DIRECT_API_PORT18756Porta esperada para proxy direto de UI/API.
TOPOSYNC_EXPECTED_RTSP_PORT18758Porta esperada para saída RTSP.
TOPOSYNC_EXPECTED_HLS_PORT18759Esperada apenas quando HLS direto está ativo.
TOPOSYNC_EXPECTED_WEBRTC_PORT18760Porta esperada para sinalização WebRTC/WHEP.
TOPOSYNC_EXPECTED_WEBRTC_UDP_PORT18762Porta esperada para mídia WebRTC por UDP.
TOPOSYNC_FAIL_STREAM_URLS_ON_PORT_MISMATCH1Falha URLs de streaming inseguras quando o mapeamento de rede do add-on não bate.

Streaming

VariávelPadrãoObservações
TOPOSYNC_STREAMING_ENGINE_PATHDownload/cache automáticoCaminho para o binário MediaMTX ou diretório que contém o binário.
TOPOSYNC_STREAMING_ENGINE_CACHE_DIR~/.toposync/runtime ou /data/runtime em containersRaiz de cache para MediaMTX baixado.
TOPOSYNC_STREAMING_ENGINE_DOWNLOAD_BASE_URLUpstream internoURL base alternativa para downloads do MediaMTX.
TOPOSYNC_STREAMING_GO2RTC_PATHDownload/cache automático ou /usr/local/bin/go2rtc em imagens empacotadasCaminho para o binário go2rtc.
TOPOSYNC_STREAMING_GO2RTC_CACHE_DIR~/.toposync/runtimeRaiz de cache para go2rtc baixado.
TOPOSYNC_STREAMING_GO2RTC_DOWNLOAD_BASE_URLUpstream internoURL base alternativa para downloads do go2rtc.
TOPOSYNC_STREAMING_FFMPEG_PATHffmpeg no PATHCaminho explícito para o binário FFmpeg.
TOPOSYNC_STREAMING_HLS_PUBLIC_MODEproxy no add-onUse proxy para URLs HLS assinadas/proxificadas. HLS direto é principalmente diagnóstico.
TOPOSYNC_STREAMING_WEBRTC_ADDITIONAL_HOSTSNão definidoHosts separados por vírgula anunciados para clientes WebRTC.
TOPOSYNC_STREAMING_WEBRTC_LOCAL_UDP_ADDRESSPadrão do runtimeEndereço UDP ICE fixo, por exemplo :18762.
TOPOSYNC_STREAMING_WEBRTC_LOCAL_TCP_ADDRESSNão definidoEndereço TCP ICE opcional quando UDP é bloqueado.
TOPOSYNC_STREAMING_ENABLE_BYPASS0Modo bypass avançado para internals de streaming.
TOPOSYNC_STREAMING_FFMPEG_LOGLEVELwarningNível de log do FFmpeg.

Sincronização distribuída de streaming:

VariávelObservações
TOPOSYNC_STREAMING_SYNC_CORE_URLURL do servidor principal para sync de host remoto de streaming.
TOPOSYNC_CORE_URLURL alternativa do servidor principal para sync remoto.
TOPOSYNC_STREAMING_SYNC_BEARER_TOKENBearer token para autenticação de sync.
TOPOSYNC_STREAMING_SYNC_USERNAMEUsuário para autenticação de sync.
TOPOSYNC_STREAMING_SYNC_PASSWORDSenha para autenticação de sync.
TOPOSYNC_STREAMING_SYNC_INTERVAL_SECONDSIntervalo de polling do sync.
TOPOSYNC_STREAMING_SYNC_TIMEOUT_SECONDSTimeout das requisições de sync.

Câmeras

VariávelPadrãoObservações
TOPOSYNC_CAMERA_SNAPSHOT_TTL_S0.8Tempo de cache de snapshots.
TOPOSYNC_CAMERA_SNAPSHOT_FFMPEG_CONCURRENCY2Concorrência de snapshots via FFmpeg.
TOPOSYNC_ONVIF_DISCOVERY_TTL_S60Tempo de cache da descoberta ONVIF.
TOPOSYNC_ONVIF_DISCOVERY_SUPERVISOR_NETWORKtrueAtiva caminho de descoberta pela rede do Supervisor Home Assistant.
TOPOSYNC_ONVIF_DISCOVERY_MULTICASTtrueAtiva descoberta multicast ONVIF.
TOPOSYNC_ONVIF_DISCOVERY_LIMITED_BROADCASTtrueAtiva descoberta por broadcast limitado.
TOPOSYNC_ONVIF_DISCOVERY_TARGETSNão definidoAlvos manuais de descoberta ONVIF separados por vírgula.
TOPOSYNC_CAMERA_ONVIF_TIMEOUT_SPadrão do runtimeTimeout de requisições ONVIF.
TOPOSYNC_RTSP_OPEN_TIMEOUT_MS8000Timeout de abertura RTSP.
TOPOSYNC_RTSP_READ_TIMEOUT_MS8000Timeout de leitura RTSP.

Vision

VariávelObservações
TOPOSYNC_VISION_ONNXRUNTIME_PROVIDERSOrdem de providers do ONNX Runtime separada por vírgula. Use apenas para diagnóstico de seleção de provider.
TOPOSYNC_VISION_MANIFESTS_DIRDiretório extra para manifests de vision.
TOPOSYNC_VISION_MANIFEST_PATHSArquivos ou diretórios extras de manifests.
TOPOSYNC_VISION_MODEL_SOURCE_<MODEL_ID>Override de source por modelo.
TOPOSYNC_VISION_MODEL_URL_<MODEL_ID>Override de URL por modelo.
TOPOSYNC_VISION_MODEL_PATH_<MODEL_ID>Override de caminho local por modelo.
TOPOSYNC_VISION_OFFICIAL_MODEL_SOURCE_DIRDiretório local para artefatos de modelos oficiais.
TOPOSYNC_VISION_OFFICIAL_MODEL_BASE_URLURL base para artefatos de modelos oficiais.
TOPOSYNC_VISION_HF_EXPORT_PIP_SPECSDependências avançadas de export Hugging Face.
TOPOSYNC_VISION_LOCAL_BUILDER_RUNTIMERuntime avançado do builder local de modelos.
TOPOSYNC_VISION_LOCAL_BUILDER_PYTHONExecutável Python avançado do builder local.
TOPOSYNC_VISION_LOCAL_BUILDER_IMAGEImagem avançada do builder local.
TOPOSYNC_VISION_RFDETR_PIP_SPECOverride avançado de dependência RF-DETR.

Troubleshooting

Uma variável de ambiente não surte efeito

Confira se a mesma configuração também foi passada como flag de linha de comando. Para flags suportadas, a linha de comando costuma ser mais clara e mais fácil de verificar.

Um serviço não enxerga a variável

Variáveis de um shell interativo não se aplicam automaticamente a serviços do sistema, containers Docker, serviços Windows ou add-ons Home Assistant. Defina a variável na configuração do serviço ou container.

A UI não aparece

Remova TOPOSYNC_NO_FRONTEND e qualquer TOPOSYNC_FRONTEND_DIR incorreto, então reinicie toposync serve.

A autenticação do servidor de processamento falha

Verifique se o registro no servidor principal usa o mesmo usuário e senha configurados com TOPOSYNC_PROCESSING_USERNAME e TOPOSYNC_PROCESSING_PASSWORD.