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
- No HA: Settings → System → Backups
- Abra
pre-lab-decision-20260914 - Download → salve em local seguro, ex.:
D:\backups\ha\pre-lab-decision-20260914.tar
(o nome do arquivo pode ser o slug3f5701d2.tar)
1.2 Cópia extra (recomendado)
- Pendrive ou Syncthing/NAS
- Anote: slug
3f5701d2, Core2026.9.1, HAOS18.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
- Desligue o Pi com segurança (HA: Settings → System → Hardware → Shutdown ou
ha host shutdown). - Retire a energia.
- 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.
- Se o SSD está no USB/NVMe hat: confira ordem de boot no EEPROM (
- Ligue, login no Debian, confira rede:
hostname -I
ping -c 2 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:
- Deixe subir e criar
/configinicial. - Crie usuário admin (pode ser temporário).
- Restaure o backup (passo 6) — isso substitui a config.
6. Restaurar o backup
- UI: Settings → System → Backups
- Se o arquivo não aparecer: Upload backup / copie o
.tarpara/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
- Na UI, selecione
pre-lab-decision-20260914/3f5701d2→ Restore - Marque Home Assistant (Core/config).
- 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.
- Confirme e aguarde reinício do container.
docker compose -f /opt/homeassistant/docker-compose.yml restart
# ou
docker restart homeassistant
- 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/configse quiser o aliashaosapontando 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):
- Use o tarball
cisterna-addon-src.tgz(passo 1.3) ou o repomonitor-sonoff. - Rode o bridge/dashboard como segundo container na mesma Docker network/host, publicando porta
8092. - Ou adapte o
Dockerfiledo add-on paradocker 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 composeno README do lab
9. Rollback (se algo falhar)
- Desligue o Debian.
- Boot de novo no SD HAOS.
- HAOS intacto (não mexemos no SD se só trocou o boot).
- Backup continua válido no PC.
10. Ordem resumida (checklist)
- Download backup
3f5701d2(+ opcional tarball Cisterna) - Shutdown HAOS · boot Debian SSD
- Docker + pasta
/opt/homeassistant docker compose up -d(HA stable,network_mode: host)- Onboarding mínimo → Upload/restore backup Core
- Validar temas + Sonoff/eWeLink
- Subir Mosquitto se precisar MQTT
- SSH via Debian; Cisterna painel = fase 2
- 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.