Community Solution

ZimaOS Built-In Storage Almost Full: Find Backup Fallbacks, Docker Logs, .media, and AppData Before Deleting Anything

An October 2025 thread where several different causes filled /DATA: one backup continued after its USB destination was disconnected and wrote into a recreated local path; another Home Assistant container generated a 519 GB JSON log; another user found 409 GB under .media. IceWhale acknowledged the backup behavior as a problem and later shipped more app/cache controls.

“Built-in storage almost full” is a symptom, not a single ZimaOS bug. This source thread exposed at least three different causes: a Backup task whose USB destination disappeared and was effectively recreated under local /DATA, a runaway Docker JSON log that grew to 519 GB, and a different system where /DATA/.media consumed 409 GB.

The safest response is to measure first, identify the owning service, stop the writer, then clean only the confirmed data. Do not delete /DATA/.docker, .media, or AppData recursively just because they are large.

ZimaOS terminal showing the built-in /DATA filesystem at 100 percent usage while the larger storage pool still has free capacity
The source system had no free space left in /DATA even though its large data pool still had multiple terabytes available.

Migrating App Data Does Not Guarantee Every Future Write Leaves /DATA

ZimaOS Apps migration settings showing app data app image and user database relocated to a larger storage pool
The original poster had already migrated the three managed categories, so the later disk fill came from a different path.

Use Read-Only du Checks to Find the Largest Directory

The source user shared:

sudo du -x -h --max-depth=1 /DATA 2>/dev/null | sort -hr

This does not modify files. Repeat against a suspicious directory to narrow the largest subtree.

A Disconnected Backup Destination Was the First Confirmed Cause

Cobblerkid found that a Backup task expected an external USB drive. After the drive was disconnected, the backup structure was recreated under /DATA and the scheduled job kept writing until local storage filled.

Zima-Jerry agreed this appeared to be a problem and forwarded it internally. That makes this more than a community theory.

Another User Found a 519 GB Container JSON Log

A second participant inspected one Docker container directory and found a *-json.log file of roughly 519 GB, attributed to a Home Assistant container.

The user removed the container and recovered space. Do not generalize that into “delete Docker logs manually”; first identify the noisy container, inspect its logs, and fix the repeated error generating the log.

A Third System Had 409 GB Under /DATA/.media

Another user posted a size breakdown where normal AppData was about 225 GB, .docker only 3.5 GB, but .media consumed 409 GB. This demonstrates why one cleanup command cannot solve every “disk full” report.

Current ZimaOS Exposes More App Storage and Cache Controls

Current IceWhale documentation says Settings → Apps shows the App data location and per-app usage/cache cleanup. Keeping AppData on the main storage array reduces pressure on the small system drive.

Use the current ZimaOS app-storage controls before attempting shell cleanup.

A Safer Recovery Order

  1. stop the task/app still generating data;
  2. measure /DATA read-only;
  3. identify the exact file/folder and owner;
  4. back up important AppData/configuration;
  5. use supported app/cache controls where possible;
  6. remove only disposable or verified erroneous data;
  7. confirm free space stays stable after reboot.

docker image prune Does Not Fix Every Docker Space Problem

In the source, raller1028 mentioned docker image prune -a as a way to remove images not used by containers. That can reclaim unused image layers, but it will not solve a 519 GB active container JSON log, a runaway Backup destination, or user data under .media.

Use the size scan to identify the category first. A cleanup command aimed at the wrong category may free almost nothing while creating new risk.

A Huge JSON Log Means the Container's Error Loop Still Matters

Removing the offending container freed space for one user, but the better long-term question is why the application wrote hundreds of gigabytes of logs. Inspect recent logs for repeated errors, restart loops, unavailable devices, or configuration problems before reinstalling the same workload.

If the recreated container immediately starts generating logs again, the disk-full condition will return.

Treat .media as Managed Storage, Not Disposable Cache

The 409 GB /DATA/.media example may contain real managed mount/file data rather than temporary cache. Before deleting anything there, identify which storage/share/app owns it and confirm the same files exist elsewhere.

ZimaOS Apps settings showing hundreds of gigabytes of app images and app data on the system storage
Different users in the thread had very different space consumers, reinforcing the need to measure before cleaning.

Built-In Storage Full FAQ

Did the source prove AppData migration itself failed?

No. The original poster had migrated the managed categories; the confirmed fill came from a disconnected Backup target.

Is it safe to delete the whole .docker directory?

No. It can contain active container state, logs, images, and application dependencies.

What is the best first command from the source?

A read-only du size scan of /DATA to identify the actual large subtree.