# Konfiguracja Home Assistant TEST/PROD ## 📊 Aktualna infrastruktura ### Środowiska Home Assistant | Środowisko | VM ID | IP | URL | Status | |------------|-------|-------------|---------------------------|---------| | TEST | 101 | 192.168.50.151 | http://192.168.50.151:8123 | ✅ Działa | | PROD | 100 | 192.168.50.242 | http://192.168.50.242:8123 | ✅ Działa | ### Zasoby VM | VM | CPU | RAM | Dysk | |----|-----|-----|------| | TEST (101) | 2 cores | 2048 MB | 32 GB | | PROD (100) | 2 cores | 4096 MB | 32 GB | ## 🔐 Konfiguracja SSH (WYMAGANE dla automatyzacji) ### Włączanie SSH w Home Assistant #### TEST (192.168.50.151) 1. Otwórz: http://192.168.50.151:8123 2. Zaloguj się 3. **Settings** (⚙️) → **Add-ons** → **Add-on Store** 4. Wyszukaj: **Terminal & SSH** 5. Kliknij **Install** 6. Po instalacji: - **Start** addon - **Configuration** → Ustaw hasło: `QWer!@34` - **Save** - **Restart** addon 7. Weryfikacja: ```bash ssh root@192.168.50.151 # hasło: QWer!@34 ha core info ``` #### PROD (192.168.50.242) Powtórz te same kroki dla środowiska PROD: - URL: http://192.168.50.242:8123 - SSH: `ssh root@192.168.50.242` ## 🚀 Automatyzacja po włączeniu SSH ### Sprawdzenie dostępu ```bash cd ~/homeassistant-infra ./scripts/check-ssh-access.sh ``` ### Backup Backup wszystkich środowisk: ```bash ./scripts/backup-ha.sh all ``` Backup pojedynczego: ```bash ./scripts/backup-ha.sh test ./scripts/backup-ha.sh prod ``` ### Synchronizacja TEST → PROD **UWAGA:** To nadpisze konfigurację PROD konfiguracją z TEST! ```bash ./scripts/sync-test-to-prod.sh ``` Co robi skrypt: 1. ✅ Automatyczny backup PROD przed zmianami 2. 📋 Kopiowanie plików konfiguracyjnych (configuration.yaml, automations.yaml, etc.) 3. 📁 Kopiowanie katalogów (custom_components, themes, www) 4. ♻️ Restart Home Assistant na PROD 5. 💾 Backup zapisany w `./backups/` ### Restore z backupu Jeśli coś pójdzie nie tak: ```bash ./scripts/restore-backup.sh ./backups/prod_backup_YYYYMMDD_HHMMSS.tar.gz prod ``` ## 📂 Struktura konfiguracji HA Po włączeniu SSH, konfiguracja HA znajduje się w: ``` /root/config/ ├── configuration.yaml # Główna konfiguracja ├── automations.yaml # Automatyzacje ├── scripts.yaml # Skrypty ├── scenes.yaml # Sceny ├── customize.yaml # Customizacje ├── secrets.yaml # Sekrety (hasła, tokeny) ├── custom_components/ # Custom integracje ├── themes/ # Motywy └── www/ # Pliki statyczne ``` ## 🔄 Workflow codziennej pracy ### 1. Praca w środowisku TEST ```bash # Połącz się z TEST ssh root@192.168.50.151 # Lub edytuj przez WebUI open http://192.168.50.151:8123 ``` Dodaj/edytuj: - Automatyzacje - Integracje - Skrypty - Dashboardy ### 2. Testowanie Sprawdź czy wszystko działa poprawnie w TEST: - Uruchom automatyzacje - Przetestuj scenariusze - Sprawdź logi: Settings → System → Logs ### 3. Commit do Git (opcjonalnie) ```bash cd ~/homeassistant-infra # Pobierz konfigurację z TEST scp -r root@192.168.50.151:/root/config/* ./ha-config-test/ # Commit git add . git commit -m "Dodano automatyzację XYZ" git push ``` ### 4. Deploy na PROD Gdy wszystko działa w TEST: ```bash cd ~/homeassistant-infra ./scripts/sync-test-to-prod.sh ``` Potwierdź synchronizację i gotowe! ### 5. Weryfikacja PROD ```bash # Sprawdź logi ssh root@192.168.50.242 "ha core logs" # Lub przez WebUI open http://192.168.50.242:8123 ``` ## 🆘 Troubleshooting ### SSH nie działa ```bash # Sprawdź czy addon jest uruchomiony ssh root@192.168.50.151 # jeśli nie działa, sprawdź przez WebUI # Restart addonu przez WebUI: # Settings → Add-ons → Terminal & SSH → Restart ``` ### Synchronizacja się nie powiodła ```bash # Przywróć ostatni backup ls -lh ~/homeassistant-infra/backups/ ./scripts/restore-backup.sh ~/homeassistant-infra/backups/prod_backup_XXX.tar.gz prod ``` ### Home Assistant nie odpowiada ```bash # Restart HA ssh root@192.168.50.151 "ha core restart" # Lub restart całej VM ssh root@192.168.50.200 "qm reboot 101" ``` ### Sprawdzenie logów ```bash # Logi core ssh root@192.168.50.151 "ha core logs" # Logi supervisora ssh root@192.168.50.151 "ha supervisor logs" ``` ## 📚 Automatyczne backupy (cron) Dodaj do crontab dla automatycznych backupów: ```bash crontab -e ``` Dodaj linię (backup codziennie o 2:00): ```cron 0 2 * * * cd ~/homeassistant-infra && ./scripts/backup-ha.sh all >> ~/ha-backup.log 2>&1 ``` ## 🔗 Przydatne linki - **TEST WebUI**: http://192.168.50.151:8123 - **PROD WebUI**: http://192.168.50.242:8123 - **Proxmox**: https://192.168.50.200:8006 - **GitBucket**: http://192.168.50.101:8080/root/homeassistant-infra - **HA Docs**: https://www.home-assistant.io/docs/ ## ✅ Checklist po skonfigurowaniu SSH - [ ] SSH działa na TEST (192.168.50.151) - [ ] SSH działa na PROD (192.168.50.242) - [ ] Wykonany pierwszy backup: `./scripts/backup-ha.sh all` - [ ] Przetestowana synchronizacja: `./scripts/sync-test-to-prod.sh` - [ ] Przetestowany restore: `./scripts/restore-backup.sh` - [ ] Dodany cron job dla automatycznych backupów - [ ] Skrypty commitowane do Git ## 🎉 Gotowe! Po wykonaniu powyższych kroków masz w pełni zautomatyzowane środowiska! **Workflow:** ``` Zmiana w TEST → Test → Sync do PROD → Gotowe! ``` Wszystkie backupy są automatyczne, wszystko wersjonowane, zero ręcznej pracy! 🚀