Orange PI 4 pro

Bom dia a Todos,

Quero descrever que o meu home assistant está funcionando muito bem em um Orange PI 4 Pro com 4 GB e com um MicroSD 32 Gb que em breve vou migrar para um M.2 NVME PCIe 3.0 256G M.2 2280



E o Bacana que qualquer problema ou dúvida eu utilizei o Gemini para orientar tanto no linux quando no home assistant e portainer, mais funciona muito bem e rápido.

[Tutorial] Instalando Home Assistant Container + Portainer e Ecossistema (Mosquitto, Node-RED, Uptime-Kuma, Watchtower e AdGuard Home) no Orange Pi 4 Pro (4GB)

Fala, galera do fórum Home Assistant Brasil! :rocket:

Se você comprou um Orange Pi 4 Pro de 4GB e quer uma infraestrutura robusta, leve e com total controle dos seus containers via interface web, o modelo de instalação isolada usando Docker, Portainer e Docker Compose é uma das melhores escolhas.

Neste tutorial passo a passo, vamos cobrir desde a preparação do sistema até o deploy automatizado do Home Assistant Container junto com os principais containers de suporte para a sua automação residencial.


:clipboard: Pré-requisitos

  • Hardware: Orange Pi 4 Pro (4GB RAM) com cartão SD ou eMMC de boa qualidade.
  • Sistema Operacional: Armbian, Debian ou Ubuntu Server homologado para Orange Pi, já instalado e com acesso SSH liberado.
  • IP Estático: Certifique-se de fixar o endereço IP do seu Orange Pi nas configurações do seu roteador.

:hammer_and_wrench: Passo 1: Atualização do Sistema e Instalação do Docker

Acesse o terminal do seu Orange Pi via SSH e execute a atualização dos pacotes para garantir que nenhuma dependência antiga quebre o processo:

bash
sudo apt update && sudo apt upgrade -y

Agora, instale o Docker usando o script oficial automatizado (método mais limpo e seguro):

bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Adicione o seu usuário atual (substitua ortiz pelo seu usuário caso não esteja logado como root) ao grupo do Docker para não precisar usar sudo em todos os comandos:

bash
sudo usermod -aG docker $USER

Nota: Desconecte e conecte novamente no SSH para que a alteração de grupo tenha efeito.


:compass: Passo 2: Instalação do Portainer EE/CE

O Portainer será o nosso painel de controle visual para gerenciar todos os containers de forma simples.

  1. Crie o volume persistente para o Portainer:
    bash
    docker volume create portainer_data

  2. Execute o comando de deploy do Portainer Community Edition (CE):

    docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
    
    
    
  3. Acesse o painel pelo seu navegador: https://IP_DO_ORANGE_PI:9443 (ignore o aviso de certificado SSL autossinado) e crie a sua senha de administrador.


:file_folder: Passo 3: Preparação das Pastas de Persistência

Para garantir que suas automações, logs e dados não sumam ao atualizar os containers, vamos padronizar o diretório de dados na home do usuário:

bash
mkdir -p ~/docker/homeassistant
mkdir -p ~/docker/mosquitto/config ~/docker/mosquitto/data ~/docker/mosquitto/log
mkdir -p ~/docker/nodered
mkdir -p ~/docker/uptime-kuma
mkdir -p ~/docker/adguard/work ~/docker/adguard/conf


### Ajuste crucial para o Mosquitto (MQTT)
O container do Eclipse Mosquitto exige um arquivo mínimo de configuração para permitir conexões externas. Crie o arquivo executando:

bash
nano ~/docker/mosquitto/config/mosquitto.conf


Cole o conteúdo abaixo dentro dele, salve (`Ctrl+O`, `Enter`) e feche (`Ctrl+X`):

```ini
listener 1883
allow_anonymous true
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log

:rocket: Passo 4: Deploy Unificado via Portainer (A Stack)

Agora vem a mágica do Docker Compose.

  1. Acesse a interface do seu Portainer.
  2. Vá em Local > Stacks > Add stack.
  3. Dê um nome para a stack (ex: automacao-residencial).
  4. No editor web, cole o código do Docker Compose unificado abaixo. Ele já inclui o Home Assistant Container e todas as demais ferramentas solicitadas:

yaml
version: ‘3.8’

services:

— HOME ASSISTANT CONTAINER —

homeassistant:
container_name: homeassistant
image: “Package home-assistant · GitHub”
volumes:
- ~/docker/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
privileged: true
network_mode: host

— ECLIPSE MOSQUITTO (BROKER MQTT) —

mosquitto:
container_name: mosquitto
image: eclipse-mosquitto:latest
restart: unless-stopped
ports:
- “1883:1883”
- “9001:9001”
volumes:
- ~/docker/mosquitto/config:/mosquitto/config
- ~/docker/mosquitto/data:/mosquitto/data
- ~/docker/mosquitto/log:/mosquitto/log
environment:
- TZ=America/Sao_Paulo

— NODE-RED —

nodered:
container_name: nodered
image: nodered/node-red:latest
restart: unless-stopped
ports:
- “1880:1880”
volumes:
- ~/docker/nodered:/data
environment:
- TZ=America/Sao_Paulo

— UPTIME KUMA (MONITORAMENTO) —

uptime-kuma:
container_name: uptime-kuma
image: louislam/uptime-kuma:1
restart: unless-stopped
ports:
- “3001:3001”
volumes:
- ~/docker/uptime-kuma:/app/data
environment:
- TZ=America/Sao_Paulo

— ADGUARD HOME (DNS & BLOQUEADOR DE ANÚNCIOS) —

adguardhome:
container_name: adguardhome
image: adguard/adguardhome:latest
restart: unless-stopped
# Portas para DNS, Painel Web e DHCP se necessário
ports:
- “53:53/tcp”
- “53:53/udp”
- “784:784/udp”
- “853:853/tcp”
- “3000:3000/tcp”
- “8081:80/tcp”
- “443:443/tcp”
volumes:
- ~/docker/adguard/work:/opt/adguardhome/work
- ~/docker/adguard/conf:/opt/adguardhome/conf
environment:
- TZ=America/Sao_Paulo

— WATCHTOWER (ATUALIZADOR AUTOMÁTICO DE CONTAINERS) —

watchtower:
container_name: watchtower
image: containrrr/watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=America/Sao_Paulo
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_POLL_INTERVAL=86400 # Verifica atualizações a cada 24 horas


5. Clique em **Deploy the stack** na parte inferior da tela e aguarde o download de todas as imagens.

---

## 🌐 Passo 5: Painel de Controle e Portas de Acesso

Após o término da instalação, você poderá gerenciar cada uma das suas novas ferramentas através das seguintes portas do seu navegador:

| Serviço | Porta Padrão | Link de Exemplo |
| :--- | :--- | :--- |
| **Home Assistant** | `8123` | `http://IP_DO_ORANGE_PI:8123` |
| **Portainer** | `9443` | `https://IP_DO_ORANGE_PI:9443` |
| **Node-RED** | `1880` | `http://IP_DO_ORANGE_PI:1880` |
| **Uptime Kuma** | `3001` | `http://IP_DO_ORANGE_PI:3001` |
| **AdGuard Home (Setup)** | `3000` | `http://IP_DO_ORANGE_PI:3000` |

---

### 💡 Dicas extras para a comunidade do Fórum:
1. **Rede Host no Home Assistant:** Perceba que o container do Home Assistant está configurado com `network_mode: host`. Isso é fundamental para que ele consiga descobrir automaticamente dispositivos inteligentes na sua rede (como lâmpadas Yeelight, TVs, Google Home) e mapear dongles Zigbee (ex: Sonoff ZBDongle-E).
2. **Watchtower Inteligente:** O Watchtower vai garantir que seu Home Assistant e complementos estejam sempre na última versão estável de forma invisível. O parâmetro `WATCHTOWER_CLEANUP=true` apaga as imagens antigas, poupando espaço de armazenamento do Orange Pi.
3. **Gerenciamento de Recursos:** O hardware do Orange Pi 4 Pro com 4GB de RAM vai rodar esse ecossistema com folga total, sobrando bastante memória para integrações pesadas e bancos de dados complexos.

Curtiu o guia? Se tiver qualquer dúvida sobre mapeamento de portas ou erros no log do MQTT, deixa o seu comentário aqui embaixo! 👇