Migration DS223 (ARM) → DS225+ (x86_64): DSM configuration, data and containers cross-architecture
Hi everyone, I'm about to migrate from my current DS223 (CPU Realtek RTD1619B, ARM/aarch64 architecture) to a DS225+ (CPU Intel Celeron J4125, x86_64) that just arrived. The plan is to reuse the drives currently installed in the DS223 on the new NAS.
I need to figure out the correct approach to transfer:
- DSM system configuration (users, shared folders, permissions, network settings, etc.)
- Data (volume contents)
- Container Manager and its containers (Immich, Jellyfin)
I've already verified this is a cross-architecture migration (ARM → x86_64, package arch rtd1619b → geminilakenk), so I know that direct HDD migration is not recommended.
Current setup on the DS223:
- DSM 7.3.2-86009, fully updated
- Container Manager installed via unofficial workaround on ARM
- Active containers: Immich, Jellyfin, with their persistent volumes/data
- Data on Btrfs volume
a) DSM Configuration
Is it enough to export the configuration backup from Control Panel > Update & Restore > Configuration Backup and restore it on the DS225+ after a clean DSM install? Are there any known limitations for cross-architecture migrations using this method?
b) Data
I already have a backup (folders and packages) via Hyper Backup to an external destination (USB and remote NAS). Could I restore it directly on the DS225+?
Also: does it make sense to physically install the DS223's drives into the DS225+ to form the destination volume, and then run the Hyper Backup restore on that volume? Or is it more reliable to initialize the DS225+ with fresh/empty drives and restore from scratch?
c) Container Manager (the most critical part)
The containers on the DS223 run on ARM (aarch64), while the DS225+ is x86_64. A few questions:
- ARM Docker images can't run natively on x86_64. Does this mean I need to pull the correct x86_64 images on the DS225+ for each container?
- For containers using multi-arch images (most of those on Docker Hub), will simply re-pulling them be enough for the DS225+ to automatically download the amd64 version?
- Persistent container data mounted as bind mounts on shared folders (e.g.
/volume1/docker/jellyfin/) is architecture-independent and migrates fine along with regular data, right? - Immich in particular uses internal Docker named volumes (e.g. the PostgreSQL database). These live under u/docker
/volumes/and are not regular shared folders. Does Hyper Backup include them in the package backup, or do I need to handle them separately (e.g. manual database export ordocker run --volumes-from ... tar)? - Is there a way to export container configurations (docker-compose.yml or JSON) from the DS223 to re-import them on the DS225+, or do I have to recreate everything manually?
d) Suggested order of operations
My current plan is:
- Export DSM configuration backup (.dss file)
- Back up data + container persistent data via Hyper Backup to a USB drive
- Set up the DS225+ from scratch with a clean DSM install
- Restore DSM configuration
- Restore data via Hyper Backup Vault
- Install Container Manager on the DS225+ (natively supported on x86_64)
- Recreate containers using amd64 images and remount volumes with the already-migrated data
Has anyone done a similar ARM → x86_64 migration? Are there any known pitfalls or steps I'm missing?
Thanks in advance!
Posted Jun 8, 2026, 10:15 PM UTC