Skip to content
Geek is the Way!
Menu
  • Forums
  • Sobre o blog
  • Contato
  • Português
    • English
Menu

Instalando Controlador Unifi no Synology NAS usando Docker containers

Posted on 04/11/202030/12/2024 by Thiago Crepaldi

Controlador Unifi é um software obrigatório se você tiver qualquer equipamento Unifi, como os famosos Pontos de Acesso Wi-Fi. Você pode ter o controlador rodando em hardware dedicado, como Unifi Cloud Key ou Dream Machine Pro. No entanto, neste post vamos instalar o Controlador Unifi em um container Docker no NAS Synology!

AVISO Este post foi traduzido automaticamente via software e revisado nas coxas por mim. É possível que as descrições textuais sejam diferentes das interfaces gráficas. Além disso, algumas capturas de tela podem estar em inglês enquanto as instruções em português. Recomendo muita hora nessa calma e fazer as adaptações necessárias

Antes de iniciar

Instale o Docker no NAS

Em primeiro lugar, certifique-se de que o Synology NAS suporta Docker. Depois de fazer login na interface web do DSM, abra Centro de Pacotes >> Todos os pacotes e procure o Docker na lista. Se não estiver instalado, instale agora! Se você não encontrar o pacote Docker na lista, ele provavelmente não é suportado. Acesse o site da Synology e verifique na página de especificação do seu NAS!

Crie uma pasta de configuração

Vamos usar uma pasta no seu NAS para manter todas configurações do Controlador dentro do container Docker. A vantagem dessa abordagem é facilitar o backup e eventuais atualizações na imagem do Docker.

Abra a Estação de Arquivos e encontre uma pasta chamada docker (ou qualquer outra pasta de sua preferência). Na pasta escolhida, crie uma subpasta chamada controlador-unifi . Esta pasta terá todas as informações importantes do seu controlador, como configuração, logs, certificados, etc. Com esta pasta, você pode excluir/atualizar e recriar o recipiente em minutos sem perder nenhuma configuração!

Instalar o Controlador Unifi

Instalando a imagem do Docker

Uma vez que Docker está funcionando, precisamos baixar a imagem do Docker que precisamos para executar o controlador. Há muitos imagens por aí, mas eu gosto da versão jacobalterty/unifi.

Abra o Docker e faça o seguinte:

  • Clique em Registro no menu do lado esquerdo
  • Digite ‘unifi’ na caixa de pesquisa na parte superior do painel direito e pressione Pesquisa
  • Selecione jacobalberty/unifi e clique no botão Baixar
  • Selecione ‘mais recente‘ (ou latest) como tag na caixa de diálogo que será exibida e clique em Selecionar
  • Você pode acompanhar o progresso do download na guia Imagem

Configuração do contêiner Docker

Uma vez terminado o download, vá para a guia Imagem e clique no botão Iniciar para criar uma instância de container usando jacobalberty/unifi como imagem base. Um assistente de configuração será exibido. A tabela abaixo mostra como o o container deve ser configurado:

  • Nome do container: Qualquer nome que você goste
  • Executar container usando alto privilégio: desmarcado
  • Habilitar limitação de recursos: verificado
    • Prioridade da CPU: Média
    • Limite de memória: 1024 (talvez 512)
  • Clique no botão Configurações Avançadas e uma nova caixa de diálogo aparecerá
    • Na guia Configurações Avançadas
      • Habilite reinicialização automática: verificada. Importante para executá-lo 24 horas por dia, 7 dias por semana!
    • Em seguida, vá para a guia Volumes
      • Clique em Adicionar pasta e selecione a que você acabou de criar (também conhecida como docker/controlador-unifi) e pressione Selecionar
      • Digite ‘/unifi’ como Caminho de Montagem
    • Em seguida, vá para a guia Rede
      • Na parte inferior do diálogo, selecione a rede Usar a mesma rede que o host do Docker
    • Pular configurações da porta e guias links
    • Por fim, vá para a guia Ambiente
      • Haverá muitas variáveis ambientais para o container
      • Certifique-se de que tanto BIND_PRIV quanto RUNAS_UID0 estão definidos como false

Na parte inferior da janela do assistente, pressione Aplicar seguido pelo Próximo e revise suas configurações. Termine pressionando Aplicar uma última vez..

Em seguida, o assistente será fechado e seu Controlador Unifi começará a funcionar na porta 8443. Você pode abrir seu navegador e visitar em https://<your_nas_ip>:8443. Certifique-se de usar https na frente da URL, caso contrário a página não será carregada.

(Opcional) Configure seu firewall

Caso você use firewall no seu Synology e a página do controlador Unifi não abrir, você precisa abrir algumas portas.

Clique no Painel de Controle >> Segurança >> Firewall e faça o seguinte:

  • Clique no botão Editar regras e uma nova caixa de diálogo aparecerá
    • Clique em Criar para adicionar uma regra de firewall
      • Na seção Portas , selecione a opção Personalizado seguida de um clique no botão Personalizado. Um novo diálogo aparecerá
        • Tipo: Porta de destino
        • Protocolo: TCP
        • Portos: 8080.8443,8843.8880.6789
        • Clique em Ok
      • IP de origem: Todos
      • Ação: Permitir
      • Clique em Ok para criar a regra
    • Clique em Criar novamente para criar uma segunda regra
      • Na seção Portas , selecione a opção Personalizado seguida de um clique no botão Personalizado. Como antes, um novo diálogo aparecerá
        • Tipo: Porta de destino
        • Protocolo: UDP 
        • Portos: 3478.10001
        • Clique em Ok
      • IP de origem: Todos
      • Ação: Permitir
      • Clique em Ok para criar a regra
  • Clique em Ok para concluir a configuração do firewall

Neste ponto, a página do controlador Unifi deve ser acessível. Se você ainda tiver problemas, tente reiniciar seu NAS e tente novamente

(Opcional) Atualizando o container do Controlador Unifi

De tempos em tempos, uma nova versão da Imagem será publicada no Docker Hub. É uma boa prática atualizar a imagem para a mais recente disponível para garantir o software está seguro e outros problemas críticos sejam corrigidos no seu ambiente. Como usamos um volume mapeado em nossa configuração, o upgrade é rápido e simples!

No entanto, antes de começar com a atualização, você sempre deve salvar fazer backup do seu Controlador Unifi. Faça login no controlador, vá para Configurações >> Configurações do controlador >> Backup. Role até a seção Backup/Restauração e baixe o arquivo de backup.

Atualizando a Imagem

O processo é idêntico à primeira vez que você baixou a imagem jacobalberty/unifi. Na verdade, por favor, siga os passos de lá e volte aqui quando terminar 🙂

Atualizando o Container

Agora que temos a nova imagem, precisamos atualizar o container existente. Clique no menu Container, selecione o o container do controlador e faça o seguinte:

  • Clique em Ação >> Parar ou clique no ícone do interruptor no lado direito. Quando um container está rodando, o interruptor mostra “0”. Depois de clicar nele, ele deve mostrar “1”
  • Com o container parado, selecione-o novamente e clique em Ação >> Limpar
  • Um diálogo de confirmação aparecerá. Clique em Sim para confirmar
  • Clique em Ação >> Iniciar ou clique no interruptor novamente para religar o Controlador. espere que ele se torne “0” mais uma vez e o container agora est;a rodando com a versão mais recente – sem perder nenhuma configuração!

(Opcional) Instale certificados Let’s Encrypt SSL

Usar https é ótimo, mas às vezes esses avisos sobre certificados inválidos ou auto-assinados são irritantes. Em posts anteriores descrevi como emitir certificados SSL Let’s Encrypt no seu pfSense e como instalá-los em seu NAS Synology. Neste post vamos estender essa ideia e instalar o certificado Let’s Encrypt emitido pelo pfSense no seu container controlador Unifi, que está sendo executado no Synology. Muito legal!

A ideia geral é criar uma tarefa periódica que copie o certificado do pfSense em uma ação local, ajuste-o um pouco e, em seguida, copie-o para a pasta de container, onde será lido pelo Controlador da Unifi.

Antes de iniciar

Você pode reutilizar o mesmo certificado das postagens acima mencionadas ou criar outro com um nome de domínio personalizado, como unifi.mydomain.com.

Para este passo a passo, presumo que siga meu post sobre como emitir certificados Let’s Encrypt no seu pfSense. Eu também vou assumir SSH está habilitado em seu pfSense.

Abra a Estação de Arquivos no Synology e navegue até Docker >> Controlador de Unifi ou onde quer que a pasta você tenha escolhido antes. Clique em Criar >> Criar pasta e digitar cert como o nome da pasta e pressione Ok.

Baixe e salve https://github.com/stevejenkins/unifi-linux-utils/blob/master/unifi_ssl_import.sh no seu computador. Abra-o em um editor de arquivos e faça as seguintes alterações:

  • Altere UNIFI_HOSTNAME para a URL do seu NAS
    • UNIFI_HOSTNAME=synology.mydomain.com
  • Mude LE_MODE
    • LE_MODE=sim

Salve as alterações e usando Estação de Arquivo, carregue-as em docker/controlador-unifi no NAS Synology.

Automatize cópia de Certificado do pfSense

Crie uma pasta de compartilhamento em Synology

Se você ainda não fez isso, siga os passos do post como criar um compartilhamento LetsEncrypt no seu NAS Synology

Copiando o certificado Let’s Encrypt para a pasta compartilhada do Synology periodicamente

A partir do mesmo post, siga esses passos para criar uma tarefa agendada para copiar certificados do pfSense em seu NAS. A única diferença aqui é que você deve copiar os certificados em uma subpasta com o nome exato do domínio completo do seu certificado. Em outras palavras, se sua pasta compartilhada é LetsEncrypt (assumindo volume1 aqui) e seu certificado for emitido para synology.mydomain.com, você terá que copiar os certificados para /volume1/LetsEncrypt/synology.mydomain.com/. Isso é requisito do script que usaremos nos próximos passos.

Instalando os certificados em seu container usando agendador de tarefas

Os certificados Let’s Encrypt expiram a cada 90 dias, então pfSense continuará emitindo novos certificados periodicamente. É por isso que precisamos criar um cronograma para esta parte!

Vá para Painel de Controle >> Programador de Tarefas >> Criar >> Tarefa programada >> Script definido pelo usuário e faça o seguinte:

Geral

  • Tarefa: Instalar certificado no Controlador Unifi
  • Usuário: root

Agenda

  • Executar nos seguintes dias: Escolha o mesmo dia da tarefa anterior
  • Hora da primeira execução: Escolha um tempo 5 minutos após a tarefa anterior
  • Frequência: Todos os dias

Configurações de tarefas

Script definido pelo usuário: use o seguinte modelo. Mude de caminho de acordo!

# Certificado deve ser mapeado como volume em /unifi/cert inside de docker

# 1. Copiar certificados com o nome e permissões certos
SOURCE_CERT_ALL=/volume1/LetsEncrypt/synology.mydomain.com/synology.mydomain.com.all.pem
SOURCE_CERT=/volume1/LetsEncrypt/synology.mydomain.com/synology.mydomain.comcrt
SOURCE_KEY=/volume1/LetsEncrypt/synology.mydomain.com/synology.mydomain.com.key
SOURCE_CHAIN=/volume1/LetsEncrypt/synology.mydomain.com/synology.mydomain.com.fullchain

# Copiando certificado para pasta do controlador unifi
DEST_CERT_DIR="/volume1/docker/controlador-unifi/cert/synology.mydomain.com"
DEST_CERT_ALL="${DEST_CERT_DIR}/cert.all.pem"
DEST_CERT="${DEST_CERT_DIR}/cert.pem"
DEST_KEY="${DEST_CERT_DIR}/privkey.pem"
DEST_CHAIN="${DEST_CERT_DIR}/fullchain.pem"
echo "Copiando certificado ${SOURCE_CERT_ALL} para ${DEST_CERT_ALL} no container Controlador Unifi"
echo "Copiando certificado ${SOURCE_CERT} para ${DEST_CERT} no container Controlador Unifi"
echo "Copiando certificado ${SOURCE_KEY} para ${DEST_KEY} no container Controlador Unifi"
echo "Copiando certificado ${SOURCE_CHAIN} para ${DEST_CHAIN} no container Controlador Unifi"
cp -fv ${SOURCE_CERT_ALL} ${DEST_CERT_ALL}
cp -fv ${SOURCE_CERT} ${DEST_CERT}
cp -fv ${SOURCE_KEY} ${DEST_KEY}
cp -fv ${SOURCE_CHAIN} ${DEST_CHAIN}
chmod 600 ${DEST_CERT_DIR}/*
chown 999:999 ${DEST_CERT_DIR}/*

# 2. Importar certs para o controlador unifi
# Modificado de https://github.com/stevejenkins/unifi-linux-utils/blob/master/unifi_ssl_import.sh
docker exec unifi-controller bash /unifi/unifi_ssl_import.sh

Clique em OK para criar a tarefa agendada. Por fim, clique em Executar para instalar os certificados que foram copiados anteriormente do pfSense em uma pasta compartilhada local do Synology. É isso! Seu Controlador Unifi agora usará certificados Let’s Encrypt e não terá mais avisos irritantes quando acessar a interface via HTTPS!

Compartilhe isso:

  • Tweet

Related

Deixe uma respostaCancelar resposta

LIKED? SUPPORT IT :)

Buy Me a Coffee


Pesquisa


Categorias

  • Aleatório (3)
  • Cozinhando (1)
  • Homelab (50)
    • APC UPS (5)
    • Compras (1)
    • NAS Synology (7)
    • pfSense (33)
    • Proxmox (4)
    • Supermicro (1)
    • Ubiquiti (4)
    • UDM Pro (4)
  • Wordpress (1)

Tag

ambiente virtual proxmox (3) aplicativo apt-get (2) Bloqueio baseado em DNS (DNSBL) (2) Certificado de Autorização (CA) (2) certificados (5) Certificados Let's Encrypt (5) controlador unifi (2) DNS dinâmico (2) DNS Dinâmico (DDNS) (3) Dsistribuição Linux Debian (2) Equipamento UDM-Pro (5) Linha Unifi (3) monitoramento (2) No-Break APC (5) Nobreak UPS (5) Nuvem CloudFlare (2) Placa APC AP9631 (3) Plataforma PBS (3) Plataforma pfSense (35) Plataforma Proxmox (3) Plataforma PVE (3) Plataforma Synology (6) privacidade (2) Protocolo LDAP (2) Protocolo SNMP (3) Protocolo SNMPv1 (3) Protocolo SSH (4) Protocolo SSL (5) Rede de Computadores (14) Redes VLAN (4) Rede VPN (8) Rede WiFi (4) rev202207br (54) Roteamento (2) segurança (14) Segurança com Firewall (7) Servidor de Backup Proxmox (3) servidor vpn (2) Serviço DNS (3) Serviço GMail (2) Serviço NMC (2) Serviço pfBlockerNG (2) Sistema Operacional DSM (6) sub-rede (2) Tarefas cron (2)

Ver também

Política de privacidade

Mapa do site

©2025 Geek is the Way! | Design by Superb