Skip to main content

Worker do Controle de Acesso

O worker do Controle de Acesso (ghcr.io/unisec/access-control) roda na rede do cliente e mantém as fechaduras em dia com o que está cadastrado no Portal:
  • cadastra e remove pessoas, credenciais e grupos de acesso nas controladoras;
  • coloca o visitante no início do agendamento e retira no fim, inclusive em controladoras sem agendamento próprio;
  • reprocessa sozinho o que falhar (com espera crescente) e mostra a fila na aba Sincronização do Controle de Acesso.
O worker não fala direto com os equipamentos. Ele manda os comandos via MQTT para o edge que roda a integração da fechadura (Axis, Hikvision, Control iD, Intelbras…). Por isso a organização também precisa de um edge de integração com essas fechaduras.
Fechaduras em integrações de nuvem (Toptic, Hik-Partner Pro hospedado) continuam sendo sincronizadas pelo Portal e não passam pelo worker.

Requisitos

  • Docker com suporte a volumes (ou o binário nativo, ver abaixo).
  • Acesso de saída ao core (CORE_BASE_URL) e ao broker MQTT (EMQX_HOST).
  • Um edge do tipo Controle de Acesso criado na organização (um por organização).

1. Criar o edge e pegar o token

  1. No dashboard, abra Edges e clique em Novo edge.
  2. Escolha Controle de Acesso e dê um nome (ex.: controle-de-acesso).
  3. Copie o token exibido. Ele só aparece uma vez; se perder, use Rotacionar token na página do edge.
A tela de criação já mostra os comandos de instalação com o token preenchido.

2. Subir o worker

O volume em /app/data é obrigatório. Ele guarda a réplica local e a fila de sincronização. Sem volume, o worker perde a fila a cada reinício e o histórico do que já foi gravado em cada fechadura.

Binário nativo

Para máquinas sem Docker há binários para Linux e macOS (amd64/arm64), anexados a cada release como portal-access-control-<so>-<arch>. As variáveis são as mesmas; defina ACCESS_CONTROL_SQLITE_PATH para um caminho gravável:

Variáveis de ambiente

3. Conferir

Nos logs do container (docker logs access-control) devem aparecer, em ordem:
  1. Local database ready — migrations aplicadas no banco local;
  2. Paired as access control edge — token aceito pelo core;
  3. Local replica synced — primeira cópia dos dados da organização;
  4. Connected to MQTT broker e Access control worker ready.
No dashboard, o edge aparece online em Edges, com a contagem da fila. Na aba Sincronização do Controle de Acesso dá para acompanhar, reprocessar ou cancelar cada envio. No primeiro boot o worker baixa todos os cadastros e agendamentos da organização e já envia o que estiver faltando nas fechaduras; não há script de migração a rodar.

Problemas comuns

Atualizar

As migrations do banco local rodam sozinhas no boot.