İçeriğe geç
Teknik rehber Editör onaylı Orta 25 dk

Docker'da Home Assistant güncellemesi öncesi yedek alma ve geri yollama

Docker container içinde çalışan Home Assistant'ı yeni imaja geçirmeden önce tam yedek almak ve güncelleme sonrası sistem açılmazsa yedeği geri yüklemek için adım adım yöntem. Yedek dosyasının host diske kopyalanması ve restore aşamaları ele alıyor.

Tuba TekinYapay zeka Editör: Tuba Tekin Yayın: Güncelleme: Sürüm 1 Home Assistant 1 okunma 0 faydalı

Gerekenler

5 kalem
  • Home Assistant kurulu Docker host (Linux sunucu)
  • SSH erişimi (terminal)
  • En az 5 GB boş disk alanı
  • Yedekleri saklamak için harici dizin veya USB disk
  • Docker ve docker compose yüklü

Giriş ve kapsam

Home Assistant'ı Docker container olarak çalıştırıyorsanız güncelleme süreci Home Assistant OS kullananlara göre biraz daha elle tutulan bir iş. docker pull ile yeni imajı çekip container'ı yeniden oluşturduğunuzda bir şeyler ters giderse eski sürüme dönmek için elinizde sağlam bir yedek olmalı. Bu rehber güncelleme öncesi tam yedek alıp host dosya sistemine kopyalamayı ve açılmayan sistemi geri yüklemeyi kapsar.

Kapsam dışı: Add-on yedekleri, MariaDB veritabanı ayrı yedeği, telegraf yapılandırması.

Öncelik: mevcut container yapısını kaydet

Container'ınızı nasıl ayağa kaldırdığınızı bilmek geri yüklemede kritik. docker-compose.yml dosyanız nerede duruyor, hangi portları map ettiniz, volume yollarınız ne? Önce terminalden mevcut durumu görüntüleyin:

docker ps | grep homeassistant

Container adınızı ve image etiketinizi not edin. Compose ile çalışıyorsanız docker-compose.yml dosyanızın yolunu da bir yere yazın. Güncelleme sırasında container silineceği için bu bilgileri kaybetmemeniz lazım.

Config dizininizin host üzerindeki tam yolunu da öğrenin. Örneğin /home/user/ha-config gibiyse yedekler buradan alınıp host'un başka bir dizinine taşınacak.

Adım 1: Home Assistant içinden tam yedek alın

Önce HA arayüzünden yedek oluşturun. Settings menüsünden System bölümüne geçin, Backups sekmesine girin ve Create Backup deyin. Yedek adına sürüm numarasını yazın ki ilerde karışmasın: ha-2024-12-core-backup gibi.

Yedek oluşturulurken HA arka planda /config dizini altındaki backups/ klasörüne bir .tar dosyası yazıyor. Bu dosya büyüklüğü configurasyonunuza göre 200 MB ile 2 GB arasında değişir. Zamanlı otomasyonlar ve geçmiş veri miktarı bu boyutu belirler.

Yedek tamamlandıktan sonra dosyanın gerçekten orada olduğunu terminalden teyit edin:

ls -lh /home/user/ha-config/backups/

Dosya boyutunun sıfır olmadığından emin olun. 0 KB görüyorsanız yedek alma başarısız demektir, tekrar deneyin.

Adım 2: Yedeği host diske kopyalayın

Container silinirse config dizini volume olarak bağlıysa korunur ama yedek dosyasını farklı bir diske veya en azından config dizininin dışına kopyalamak güvenliği artırır:

cp /home/user/ha-config/backups/ha-2024-12-core-backup.tar /home/user/ha-backups-external/

İkinci bir kopyayı USB diske de atın. Docker update sırasında host'a restart atarsanız volume bağlantısı sorun çıkartabilir, yedek dışarıda olsun.

Adım 3: Yeni imajı çekin ve container'ı güncelleyin

Eski imaj etiketini not edin sonra yeni imajı çekin:

docker pull homeassistant/home-assistant:2024.12

Compose kullanıyorsanız docker-compose.yml içindeki image etiketini güncelleyin:

services:
homeassistant:
container_name: homeassistant
image: homeassistant/home-assistant:2024.12
volumes:
- /home/user/ha-config:/config
environment:
- TZ=Europe/Istanbul
restart: unless-stopped
network_mode: host

Ardından container'ı yeniden oluşturun:

docker-compose down
docker-compose up -d

Adım 4: Sistem açılmazsa yedekten geri yükleme

Container başladıysa logları kontrol edin:

docker logs homeassistant --tail 50

8123 portuna tarayıcıdan bağlanamıyorsanız veya HA onboarding ekranına düştüyse geri yükleme yapmanız gerekiyor. HA arayüzüne ulaşamıyorsanız yedek tar dosyasını config dizinine geri koyup container'ı yeniden başlatın:

cp /home/user/ha-backups-external/ha-2024-12-core-backup.tar /home/user/ha-config/backups/
docker restart homeassistant

Bu sefer HA açılırsa Settings menüsünden Backups bölümüne girip yedeği seçin ve Restore deyin. Restore tamamlandığında HA kendini yeniden başlatır.

Eğer HA arayüzü hiç açılmıyorsa ve CLI erişimi de çalışmıyorsa config dizinini tamamen eski haline getirmek için en son çalışan config dizin yedeğinizi geri yazın. Bu yüzden güncelleme öncesi config dizininin bir tar.gz kopyasını da almak faydalı:

tar czf ha-config-snapshot.tar.gz -C /home/user ha-config

Sorun giderme

Yedek geri yükleme sırasında "backup version mismatch" hatası alıyorsanız yedek aldığınız HA sürümü ile geri yüklediğiniz sürüm aynı olmalı. Eski imajla geri dönüp restore yapıp sonra tekrar güncellemeyi deneyin.

Container sürekli restart loop'a giriyorsa config dizininde bozuk bir entegrasyon olabilir. Safe mode'da başlatmak için config dizinine configuration.yaml içine şunu ekleyin:

homeassistant:
auth_providers:
- type: trusted_networks
trusted_networks:
- 127.0.0.1
- 192.168.1.0/24

Bu geçici erişim sağlar, bozuk entegrasyonu devre dışı bırakıp sistemi toparlarsınız.

Faydalı buldum Henüz değerlendirilmedi

Aynı kategoriden rehberler

Rehberler topluluk üyelerince yazılır ve editörlerce incelenir; yine de bilgilendirme amaçlıdır. Elektrik, batarya, gaz ve tesisat işlerinde yetkili bir uzmana danış. Hatalı veya tehlikeli bir yönlendirme görürsen “Raporla” ile bildir.

Emin misin?