Passo a passo — Lab Debian (SSD 128 GB) + Home Assistant em container + restore do backup

Objetivo: voltar o micro-SSD Debian do lab, instalar HA em Docker/Podman, restaurar o backup pre-lab-decision-20260914 (slug: 3f5701d2) e validar o que funciona.

Host atual (HAOS): Raspberry Pi 5 8 GB · backup ~294 MB em Settings → System → Backups
Alvo: mesmo Pi (ou o lab) booting no Debian do SSD 128 GB


0. Expectativa (leia antes)

No HAOS (hoje) No Debian + container
Core + config + temas Restaura bem
automations / dashboards / entities Restaura bem (reauth possível)
Add-on Cisterna (Supervisor local) Não sobe como add-on — precisa recriar (compose/serviço)
Add-on SSH & Web Terminal Não — use SSH do Debian
Mosquitto add-on Substituir por container Mosquitto (ou broker no host)
eWeLink / HACS / integrações Core Em geral ok após restore + reauth
Supervisor / ha CLI Não existe no HA container “puro”

O backup vale para config, temas, Cisterna como dados/opções no Core e histórico de entities. O painel Cisterna (add-on) terá que ser reinstalado à parte se quiser Ingress igual ao HAOS.


1. Antes de desligar o HAOS (ainda no boot atual)

1.1 Baixar o backup para o PC

  1. No HA: Settings → System → Backups
  2. Abra pre-lab-decision-20260914
  3. Download → salve em local seguro, ex.:
    • D:\backups\ha\pre-lab-decision-20260914.tar
      (o nome do arquivo pode ser o slug 3f5701d2.tar)

1.2 Cópia extra (recomendado)

  • Pendrive ou Syncthing/NAS
  • Anote: slug 3f5701d2, Core 2026.9.1, HAOS 18.2

1.3 Export opcional do add-on Cisterna

No SSH do HAOS:

ssh haos
# opções do add-on (referência)
ha addons info local_cisterna
# código-fonte do add-on local (para recriar no lab)
tar -czvf /share/cisterna-addon-src.tgz -C /addons cisterna

Depois baixe /share/cisterna-addon-src.tgz (Samba/SSH/UI File editor se montar share).

1.4 Checklist rápido

  • Backup baixado no PC
  • Hash/tamanho ~294 MB ok
  • Anotado IP do roteador / reserva 192.168.1.10 (opcional mudar no Debian)
  • Dispositivos Sonoff/eWeLink online na mesma LAN

2. Trocar para o micro-SSD Debian

  1. Desligue o Pi com segurança (HA: Settings → System → Hardware → Shutdown ou ha host shutdown).
  2. Retire a energia.
  3. Boot no SSD Debian 128 GB (como no lab original):
    • Se o SSD está no USB/NVMe hat: confira ordem de boot no EEPROM (BOOT_ORDER) para preferir SSD.
    • Se dual mídia (SD HAOS + SSD Debian): tire o SD do HAOS ou configure boot para SSD, para não cair de novo no HAOS.
  4. Ligue, login no Debian, confira rede:
hostname -I
ping -c 2 1.1.1.1
  1. Atualize o sistema:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git ca-certificates

3. Instalar Docker (Pi / aarch64)

# Oficial (script) — ou use o método da sua distro
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker "$USER"
# saia e entre de novo no SSH/sessão para o grupo docker valer

Teste:

docker run --rm hello-world

4. Estrutura de pastas do lab

sudo mkdir -p /opt/homeassistant/config
sudo mkdir -p /opt/homeassistant/backups
sudo chown -R "$USER:$USER" /opt/homeassistant

Copie o arquivo de backup do PC para o Pi, por exemplo:

# no PC (PowerShell / scp)
scp D:\backups\ha\*.tar usuario@IP_DO_DEBIAN:/opt/homeassistant/backups/

No Debian, confirme:

ls -lh /opt/homeassistant/backups/

5. Subir Home Assistant (container)

Crie /opt/homeassistant/docker-compose.yml:

services:
  homeassistant:
    container_name: homeassistant
    image: ghcr.io/home-assistant/home-assistant:stable
    restart: unless-stopped
    privileged: true
    network_mode: host
    environment:
      TZ: America/Sao_Paulo
    volumes:
      - /opt/homeassistant/config:/config
      - /etc/localtime:/etc/localtime:ro
      # USB sticks / Zigbee depois, se precisar:
      # - /dev/serial/by-id:/dev/serial/by-id
    # devices: []  # adicione dongle Zigbee quando tiver

Subir:

cd /opt/homeassistant
docker compose up -d
docker compose logs -f --tail=50

Aguarde o primeiro boot (~1–2 min). Abra no browser:

http://IP_DO_DEBIAN:8123

5.1 Onboarding limpo (só se /config estiver vazio)

Se aparecer assistente de instalação, complete um usuário admin mínimo — depois vamos sobrescrever com o restore.
Se preferir, pare o container e restaure antes do primeiro onboarding (passo 6 com pasta vazia + restore via backup copy — ver nota abaixo).

Nota HA container: restore pela UI exige HA já rodando. Fluxo mais seguro:

  1. Deixe subir e criar /config inicial.
  2. Crie usuário admin (pode ser temporário).
  3. Restaure o backup (passo 6) — isso substitui a config.

6. Restaurar o backup

  1. UI: Settings → System → Backups
  2. Se o arquivo não aparecer: Upload backup / copie o .tar para /config/backups/ dentro do container:
# o volume /config mapeia para o host:
mkdir -p /opt/homeassistant/config/backups
cp /opt/homeassistant/backups/*.tar /opt/homeassistant/config/backups/
docker restart homeassistant
  1. Na UI, selecione pre-lab-decision-20260914 / 3f5701d2 → Restore
  2. Marque Home Assistant (Core/config).
  3. Add-ons do Supervisor: na UI Docker não há Supervisor — ignore ou a UI pode não listar add-ons; foque no restore do Home Assistant.
  4. Confirme e aguarde reinício do container.
docker compose -f /opt/homeassistant/docker-compose.yml restart
# ou
docker restart homeassistant
  1. Login com o usuário/senha do HAOS original (não o temporário, se o restore trouxe auth).

7. Validar o que deve funcionar

7.1 Temas e frontend

  • Tema Artes do Sul / dark disponível
  • Pasta /opt/homeassistant/config/themes/ populada

7.2 Integrações e dispositivos

  • eWeLink / Sonoff (switches da cisterna)
  • Rede: devices na mesma LAN
  • Reauth se pedido

7.3 Mosquitto

O add-on MQTT não veio como serviço. Opções:

A) Container Mosquitto (simples)

# acrescentar em docker-compose.yml
  mosquitto:
    image: eclipse-mosquitto:2
    container_name: mosquitto
    restart: unless-stopped
    ports:
      - "1883:1883"
    volumes:
      - ./mosquitto/config:/mosquitto/config
      - ./mosquitto/data:/mosquitto/data

Aponte integrações MQTT do HA para 127.0.0.1:1883 (com network_mode: host).

B) Usar broker que já exista no lab.

7.4 SSH

  • Use ssh usuario@IP_DEBIAN (sistema)
  • Não espere o add-on haos — reconfigure ~/.ssh/config se quiser o alias haos apontando ao Debian.

Exemplo ~/.ssh/config no PC:

Host haos
  HostName IP_DO_DEBIAN
  User SEU_USER_DEBIAN

7.5 Cisterna

  • Entities Sonoff (switch.10026…) respondem no HA
  • Painel Ingress do add-on não existirá até recriar o serviço

Recriar painel Cisterna (fase 2):

  1. Use o tarball cisterna-addon-src.tgz (passo 1.3) ou o repo monitor-sonoff.
  2. Rode o bridge/dashboard como segundo container na mesma Docker network/host, publicando porta 8092.
  3. Ou adapte o Dockerfile do add-on para docker compose (sem Supervisor).

Enquanto isso, controle motor/boia pelas entities no Lovelace.


8. Pós-restore — higiene

# logs
docker logs homeassistant --tail 100

# backup automático no lab (cron semanal)
# copie /opt/homeassistant/config/backups para NAS
  • Desative / ignore referências a add-ons inexistentes
  • Atualize Core pela UI se quiser (estava 2026.9.1; latest era 2026.9.2)
  • Documente IP e docker compose no README do lab

9. Rollback (se algo falhar)

  1. Desligue o Debian.
  2. Boot de novo no SD HAOS.
  3. HAOS intacto (não mexemos no SD se só trocou o boot).
  4. Backup continua válido no PC.

10. Ordem resumida (checklist)

  1. Download backup 3f5701d2 (+ opcional tarball Cisterna)
  2. Shutdown HAOS · boot Debian SSD
  3. Docker + pasta /opt/homeassistant
  4. docker compose up -d (HA stable, network_mode: host)
  5. Onboarding mínimo → Upload/restore backup Core
  6. Validar temas + Sonoff/eWeLink
  7. Subir Mosquitto se precisar MQTT
  8. SSH via Debian; Cisterna painel = fase 2
  9. Novo backup já no Debian depois que estabilizar

Decisão de lab (lembrete)

Neste arranjo (Debian lab + HA container no mesmo Pi 5 8 GB) você não precisa de outra máquina para avaliar smart home. Separe hardware só se o lab for pesar (AI, Frigate, muitos stacks) e o HA precisar de uptime isolado.

Arquivo irmão: relatorio-haos-rpi5.md · backup nome pre-lab-decision-20260914.