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 or docker 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:

  1. Export DSM configuration backup (.dss file)
  2. Back up data + container persistent data via Hyper Backup to a USB drive
  3. Set up the DS225+ from scratch with a clean DSM install
  4. Restore DSM configuration
  5. Restore data via Hyper Backup Vault
  6. Install Container Manager on the DS225+ (natively supported on x86_64)
  7. 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

10
Loading comments…