Usando Docker

Usando Docker

Recentemente comprei dois pontos de acesso UniFi nanoHD, mas não uma Cloud Key. Como posso executar o aplicativo de rede UniFi (anteriormente chamado de controlador de rede UniFi) em meu computador macOS?

Responder1

Estou ciente de duas maneiras diferentes de fazer isso.


Usando Docker

Esta pode ser uma boa opção se você já estiver familiarizado com o Docker, mas caso contrário, pode não valer a pena a curva de aprendizado. Parece que existem duas imagens Docker bem mantidas para o aplicativo de rede UniFi.

Esforço extra deve ser feito para que a adoção funcione durante a execução no Docker. O tipo de rede padrão para Docker (ponte) significa que os contêineres não estão acessíveis na rede. Para adoção da Camada 2, a documentação da imagem de Jacob Alberty menciona o uso de rede host ou rede macvlan. Usei rede de host com esta imagem Docker no Linux e ela funciona bem, mas no momento em que este livro foi escrito (10/04/2022) a rede de host não estava disponível no macOS Docker Desktop. Não tentei usar o macvlan, mas pode funcionar bem (com qualquer uma das imagens, mesmo que a documentação do LinuxServer.io não mencione isso). Para adoção da Camada 3, parece que você deve inserir o IP do host Docker nas configurações do aplicativo de rede UniFi (a documentação de ambas as imagens Docker contém detalhes de onde encontrar a configuração).

A imagem de Jacob Alberty parece incluir algum suporte para especificar um certificado https. Ainda não tentei, mas se usar um certificado confiável para o seu navegador for importante para você, esse pode ser um motivo para escolher a imagem de Jacob Alberty.


Instalando nativamente

Isso funciona bem e não é tremendamente difícil de executar, maséinfelizmente, mais trabalho do que deveria.

  1. Baixe sua versão preferida

    Procure por "Aplicativo de rede UniFi [versão] para macOS" ema página de download do Unifi. Se você não tiver preferência, escolha a versão mais recente.

  2. Instalar aplicativo de rede

    Encontre UniFi.pkg no Finder. Control+clique e selecione Open with...→ Instalador. Sem isso, o macOS reclama que "'UniFi.pkg' não pode ser aberto porque a Apple não pode verificar se há software malicioso." Em seguida, selecione "Abrir" se solicitado e prossiga com o instalador.

  3. Instale o Java 11

    Observação de 27/08/2023: você pode tentar pular esta etapa – talvez ela não seja mais necessária. Consegui instalar a versão 7.4.162 e acho que não tenho o Java instalado, então ele pode estar empacotado agora. Ou posso estar errado. Não vejo nada sobre isso nas notas de lançamento.

    Nota: Versões anteriores a 7.3.x exigiam Java 8, portanto, se você optou por instalar uma versão mais antiga do aplicativo de rede, consulteuma revisão anterior desta respostapara obter conselhos sobre como instalar o Java 8 e também o comando para iniciar versões mais antigas do aplicativo de rede.

    Para versões 7.3.x e mais recentes, você precisa do Java 11. (Em 13/01/2023, as notas de versão declaram "Java 12 e posterior ainda não são suportados." Presumivelmente, Java 13 a 19 também não são suportados.)

    Instalar com Homebrew é fácil:

    1. Segue oinstruções para instalar o Homebrewse você ainda não o tem.
    2. Em um terminal, execute brew install openjdk@11. Para mim, isso também instalou 24 dependências.
    3. Conforme sugerido pela saída do comando acima, crie um link simbólico para permitir que os wrappers Java do sistema encontrem este JDK:sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
  4. Ajustar as configurações de segurança

    Nota: Estas instruções foram alteradas significativamente devido à revisão das configurações no macOS 13 Ventura. Você pode fazer referênciauma revisão anterior desta respostapara obter orientação sobre o macOS 12 e versões anteriores, mas observe também que essas instruções podem ser imprecisas para versões mais recentes do aplicativo de rede e do Java 11.

    1. Navegue até Configurações do sistema → Rede. Selecione Firewall e clique no Options...botão. Certifique-se Block all incoming connectionsde que esteja desligado. Nenhuma outra alteração é necessária. Clique em OK para salvar.

      Algumas notas:

      • Se Automatically allow downloaded signed software to receive incoming connectionsestiver ativado, isso será suficiente para conceder acesso ao aplicativo de rede.
      • Se Automatically allow downloaded signed software to receive incoming connectionsestiver desabilitado, você será solicitado a permitir conexões de entrada quando o aplicativo de rede for iniciado.
      • Adicionar proativamente Applications/UniFià lista de aplicativos com conexões de entrada permitidas não parece funcionar. Eu não sei por quê. Mas isso não é importante – o macOS irá avisá-lo mais tarde, se necessário.
      • Em vez das alterações de firewall acima, você pode desligá-lo completamente, mas eu não recomendo. Os firewalls fornecem uma camada útil de proteção.
    2. Tente iniciar o aplicativo de rede. Você usará esse processo sempre que precisar iniciá-lo no futuro: execute o aplicativo UniFi na pasta Aplicativos ou use + Spacee pesquise “UniFi”. Você deve receber esta caixa de diálogo de erro:

      Uma captura de tela de uma janela de diálogo do macOS que diz "'UniFi.app' está danificado e não pode ser aberto. Você deve movê-lo para a Lixeira. Este arquivo foi baixado em uma data desconhecida." e possui botões para "Mover para a lixeira" e "Cancelar"
    3. "Danificado" não é preciso - o macOS está apenas impedindo que ele seja executado corretamente. Clique no botão Cancelar e navegue até Configurações do sistema → Privacidade e segurança. Role para baixo, passando por todos os aplicativos e procure o título “Segurança”. Você deverá ver a seguinte caixa de diálogo:

      Uma captura de tela de uma janela de configurações de privacidade e segurança do macOS com uma nota que diz "'UniFi.app' foi bloqueado para uso porque não é de um desenvolvedor identificado." e tem um botão "Abrir assim mesmo".
    4. Use o botão "Abrir mesmo assim" para aprová-lo. Você receberá umsegundocaixa de diálogo que diz que o aplicativo está danificado:

    Uma captura de tela de uma janela de diálogo do macOS que diz "'UniFi.app' está danificado e não pode ser aberto. Você deve movê-lo para a Lixeira. Este arquivo foi baixado em uma data desconhecida." e possui botões para "Abrir", "Mover para a lixeira" e "Cancelar"
    1. Não tenho ideia do que o macOS está reclamando aqui. Ignore isso e clique no botão "Abrir". (Observação: esta área da experiência do usuário do macOS realmente precisa de melhorias.)

      Se o macOS perguntar: "Deseja que o aplicativo 'UniFi.app' aceite conexões de rede de entrada?" você deve clicar em "Permitir" para que o aplicativo de rede funcione corretamente.

Duas notas de acompanhamento:

  1. Você pode desfazer quaisquer alterações em seu firewall quando terminar de usar o aplicativo de rede (supondo que você não planeje deixá-lo em execução o tempo todo). Embora as alterações no firewall sejam em sua maioria inofensivas, se tudo o que você fez foi permitir que o UniFi recebesse conexões de entrada.

  2. Você também pode executar o aplicativo de rede "sem cabeça". Eu não tentei, mas as instruções emhttps://akrabat.com/run-the-unifi-controller-headless-on-mac/parece promissor. Observe que você precisará usar uma string exec diferente daquelas sugeridas nessa página.

Responder2

Eu fiz funcionar no docker em algumas etapas simples! Eu fiz umconfiguração do docker no guthubcom instruções completas, mas aqui estão as etapas básicas:

  1. Decida onde o UniFi deve salvar os dados persistentes em sua máquina.

  2. Execute um script de composição do Docker.

  3. Navegue até https://localhost:8443 e conclua a configuração inicial.

  4. Vá para configurações e digite o endereço IP da sua máquina.

informação relacionada