Updates and backups
Home Assistant App
Section titled “Home Assistant App”- Update: through Home Assistant’s normal app update flow. Data is kept.
- Backup: create a Home Assistant backup that includes Hauser. The manifest declares a cold backup, so Home Assistant stops the App while it snapshots
/data. - Restore: through Home Assistant’s backup UI. Then start Hauser, check the health endpoint and open the Web UI.
Docker Compose
Section titled “Docker Compose”Back up first, then pull and recreate:
./scripts/backup.sh backups/before-update.tar.gzgit pull --ff-onlydocker compose pulldocker compose up -ddocker compose psdocker compose exec hauser node container/healthcheck.mjsThe backup script stops Hauser briefly, archives all three volumes plus image metadata and restarts if Hauser was running.
Restore is explicit and replaces the current volumes:
./scripts/restore.sh --yes backups/before-update.tar.gzRollback
Section titled “Rollback”- Put the previous image tag in
.env(HAUSER_IMAGE_TAG=v0.x.y). docker compose up -d --no-build- Check health and the core screens.
- If the newer version changed the data format, restore the backup you took before the update.
Configuration migrations
Section titled “Configuration migrations”Hauser migrates the household configuration on start when the schema version changed. Before it replaces the file it writes the original next to it, for example household.json.backup-v1-<timestamp>. A failed migration keeps the old file and stops the server with a clear code, so it never starts half-migrated.
In-app updates
Section titled “In-app updates”The web app itself caches for offline start. When a new version is waiting, Hauser shows a quiet hint and applies it when you tap. A wall panel updates on its own while idle.