Homelab / Technical documentation
Move the applications. Preserve their state.
The October move from CasaOS on the ASUS to Docker in the HP Debian VM, and the later completed ASUS conversion.
Jump to a section
From CasaOS to a dedicated guest
- Earlier ASUS runtimeUbuntu / CasaOS / Docker
- Transfer boundaryApplication configuration and persistent files
- HP Debian VMDocker stacks plus stable container paths
The earlier setup kept application data under /DATA and used an external disk. The October migration created /opt/docker/stacks, /opt/docker/appdata and /mnt/media in the Debian guest. The goal visible in the work was preserving application state while changing its runtime.
What the recovered work establishes
- Copied Plex, Jellyfin, Sonarr and Radarr appdata, then additional service configuration. The recovered Plex copy was roughly 3.3 GB.
- Handled bulky material selectively: old backups and a large application log were excluded from particular copies. Those exclusions are copy-scope decisions, not proof that the omitted files were safely backed up elsewhere.
- Started several media services. A qBittorrent image mismatch was addressed by changing the image and then starting it. This establishes a historical startup result, not a recommendation to deploy that old image now.
The exact rsync invocation and final stopped-service resynchronization were not recovered. I do not present an invented migration script as the one used.
Evidence: S04.
Configuration and media are different data
Scroll within the table to see all columns.
| Host path | Container path | Service |
|---|---|---|
| /opt/docker/appdata/sonarr | /config | Sonarr |
| /opt/docker/appdata/nzbget | /config | NZBGet |
| /mnt/media/Downloads | /downloads | Both services |
| /mnt/media/Media/TV Shows | /shows | Sonarr |
docker inspect sonarr nzbget --format '{{.Name}}{{range .Mounts}}{{println}}{{.Source}} -> {{.Destination}}{{end}}'A shared container path helps services agree on where files are. Matching path strings alone do not prove hardlinks, atomic moves or that all paths share one filesystem.
Evidence: S05.
How to validate a migration without assuming success
- Record image references and mount destinations before transfer. Inspect selected fields; avoid unrestricted environment dumps.
- Compare application configuration and media separately. Check ownership and mount availability before starting consumers.
- Check that each application opens its existing library or configuration, then test a synthetic item through the relevant workflow. A running container alone is insufficient.
- For a new migration, plan a final quiesced synchronization and rollback point. These are procedure requirements, not claims that the historical sequence included them.
The ASUS conversion to Proxmox is a later, completed change confirmed on 8 November. Its installation date and commands were not recovered. See the current guest placement.
Evidence: S19.