Skip to main content

Storage Management

Your PCS has a finite amount of disk space. As you install apps and accumulate data, managing storage becomes important. This guide covers how to monitor, optimize, and expand your storage.

Monitoring Disk Usage​

From the Admin Panel​

  1. Go to Admin Panel → Resources → Disk tab.
  2. You'll see:
    • Total disk space and used space
    • Usage percentage — keep this below 85% for optimal performance
    • Disk benchmark results (if you've run one)

From CasaOS​

The CasaOS dashboard shows a Disk widget at the top with a quick overview of used vs total space.

From Terminal​

For more detail, connect via Admin Panel → Terminal:

# Overall disk usage
df -h /

# Size of each app's data
du -sh /DATA/AppData/*/

# Top 10 largest directories
du -sh /DATA/AppData/*/ | sort -rh | head -10

# Size of Docker images
docker system df

What Uses Disk Space​

Here's where your disk space typically goes:

CategoryLocationTypical Size
App data/DATA/AppData/<app>/Varies greatly
Docker imagesDocker storage100MB–2GB per app
Backups/DATA/AppData/ (zip files)Same as app data
System/ (root filesystem)5–10 GB
Docker build cacheDocker storageCan grow over time

Space-Hungry Apps​

Some apps use significantly more disk space than others:

  • Immich — Photo and video libraries can be very large (50GB–1TB+)
  • Jellyfin — Media libraries (movies, TV shows) are typically the largest
  • Nextcloud — Depends on how much you sync, can grow rapidly
  • Databases — Apps with databases (Docmost, Vaultwarden) are usually small

Cleaning Up Disk Space​

1. Remove Old Backups​

Backups can accumulate and consume significant space.

From Admin Panel:

  1. Go to Admin Panel → Apps.
  2. Check the Backups count for each app.
  3. Delete old backups you no longer need, keeping the 2–3 most recent.

From Terminal:

# Find all backup files
find /DATA/AppData/ -name "*.tar.gz" -o -name "*backup*.zip" | sort

# Check total backup size
find /DATA/AppData/ -name "*backup*" -exec du -sh {} + | sort -rh

# Delete backups older than 30 days
find /DATA/AppData/ -name "*backup*" -mtime +30 -delete

2. Clean Docker Resources​

Docker can accumulate unused images, containers, and volumes.

# See how much space Docker is using
docker system df

# Remove unused containers, images, and build cache
docker system prune

# More aggressive: also remove unused volumes (WARNING: may delete data)
docker system prune --volumes
warning

Be careful with docker system prune --volumes — it removes unused volumes which might contain app data. Only use this if you're sure no important data is in orphaned volumes.

3. Clean App-Specific Data​

Some apps have their own cleanup options:

  • Immich — Remove duplicate photos, empty trash
  • Jellyfin — Clear cache from Jellyfin settings
  • Nextcloud — Empty trash, clear preview cache

4. Uninstall Unused Apps​

If you have apps you no longer use:

  1. Create a backup first from Admin Panel → Apps (in case you want them later).
  2. Uninstall from CasaOS — right-click the app and choose Uninstall.
  3. Choose Delete data if you're sure you won't need it again.

Disk Health​

Running a Disk Benchmark​

  1. Go to Admin Panel → Resources → Disk tab.
  2. Click Run disk benchmark.
  3. Compare results with expected values for your disk type:
Disk TypeExpected Read SpeedExpected Write Speed
HDD100–200 MB/s80–150 MB/s
SATA SSD400–550 MB/s350–500 MB/s
NVMe SSD1000–3500 MB/s800–3000 MB/s

Significantly lower results may indicate a failing disk.

Signs of Disk Problems​

  • Sudden slow performance
  • Apps crashing or failing to start
  • Error messages about I/O errors in app logs
  • Benchmark results much lower than expected

If you suspect disk issues, create backups immediately and consider migrating to a new PCS.

Expanding Storage​

External USB Storage​

You can attach external USB drives to your PCS for additional storage:

  1. Connect the USB drive to the PCS.
  2. From Terminal, find the drive:
    lsblk
  3. Mount the drive:
    sudo mkdir -p /mnt/external
    sudo mount /dev/sdb1 /mnt/external
  4. To make it permanent, add it to /etc/fstab.

Using External Storage for Media​

For media-heavy apps like Jellyfin or Immich, you can store media on the external drive and configure the app to read from that location.

Storage Best Practices​

  • Monitor regularly — Check disk usage monthly from the admin panel
  • Keep backups lean — Maintain only 2–3 recent backups per app
  • Clean Docker periodically — Run docker system prune monthly
  • Set up alerts — Use Uptime Kuma to monitor disk usage percentage
  • Plan for growth — If you're above 70% usage, start planning for more space
  • Keep 15% free — Performance degrades significantly when disks are over 85% full