i resolved it:
The Problem
A Docker container is set to network_mode: host and restart: always. It conflicts with the TOS System (usually on Port 80/443), causing the web interface to hang at "Please Wait" and causing the network to crash or loop.
2. The "Skeleton" Startup
Power Down: Turn off the NAS.
Pull the Drives: Pull all HDDs out about 2 inches (just enough to disconnect from the backplane). Label them 1, 2, 3, 4!
The Skeleton Drive: Insert Drive 1 only.
Boot: Power on the NAS.
The OS Load: The NAS will boot the OS into RAM from the single drive. It will likely show a "Fresh Install" or "Ready" screen because the RAID volume is missing. This is good—Docker cannot start because the @apps folder is not mounted.
3. Manual RAID Assembly (The "Secret" Access)
Once you are logged into SSH (Putty) on the 1-drive system, insert the other 3 drives while it is running. Wait 30 seconds for the system to detect them, then run:
1. Identify the Partitions
First, we need to see which partitions belong to the Data RAID. On TerraMaster, the large data partition is almost always the 4th partition (e.g., sda4, sdb4).
Bash
lsblk
Look for the 4 drives and confirm they all have a large partition ending in 4 (e.g., 3.6T or 14.5T).
2. Manual Assembly (No Scanning)
Instead of scanning, we call the drives specifically. This prevents the OS from "auto-mounting." (Replace sda4, sdb4, etc., with your actual drive letters from the lsblk command).
Bash
mdadm --assemble /dev/md0 /dev/sda4 /dev/sdb4 /dev/sdc4 /dev/sdd4
3. Check for LVM (The Volume Layer)
TerraMaster uses LVM (Logical Volume Management) on top of the RAID. We need to find the Volume Group name.
Bash
pvscan
It will likely show VG vg0. If it says "inactive," we wake it up manually:
Bash
vgchange -ay vg0
4. Find the Exact Mount Path
Now we need the name of the Logical Volume to mount it.
Bash
lvdisplay
Look for the "LV Path". It is usually /dev/vg0/lv0 or /dev/mapper/vg0-lv0.
5. The "Secret" Mount
This is the most important step. We do NOT mount it to /Volume1. If we do, the system scripts will see it and start the apps. We mount it to a custom folder instead:
Bash
mkdir -p /mnt/recovery
mount /dev/mapper/vg0-lv0 /mnt/recovery

How to Verify You Are Safe
Once mounted to /mnt/recovery, check that you can see the apps without them being "active":
Bash
ls /mnt/recovery/@apps
The "Disarm" Commands (The Payload)
While the drives are in this "hidden" state, run the fix:
Bash
# Force ALL containers to "Restart: No"
find /mnt/recovery/@apps/DockerEngine/DockerData/containers/ -name "hostconfig.json" -exec sed -i 's/"RestartPolicy":{"Name":"[^"]*"/"RestartPolicy":{"Name":"no"/g' {} +
Summary for your records:
Identify: lsblk
Assemble: mdadm --assemble /dev/md0 /dev/sd[abcd]4
Activate: vgchange -ay vg0
Hidden Mount: mount /dev/mapper/vg0-lv0 /mnt/recovery
Fix: sed to change RestartPolicy to no.