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
- Go to Admin Panel → Resources → Disk tab.
- 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:
| Category | Location | Typical Size |
|---|---|---|
| App data | /DATA/AppData/<app>/ | Varies greatly |
| Docker images | Docker storage | 100MB–2GB per app |
| Backups | /DATA/AppData/ (zip files) | Same as app data |
| System | / (root filesystem) | 5–10 GB |
| Docker build cache | Docker storage | Can 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:
- Go to Admin Panel → Apps.
- Check the Backups count for each app.
- 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
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:
- Create a backup first from Admin Panel → Apps (in case you want them later).
- Uninstall from CasaOS — right-click the app and choose Uninstall.
- Choose Delete data if you're sure you won't need it again.
Disk Health
Running a Disk Benchmark
- Go to Admin Panel → Resources → Disk tab.
- Click Run disk benchmark.
- Compare results with expected values for your disk type:
| Disk Type | Expected Read Speed | Expected Write Speed |
|---|---|---|
| HDD | 100–200 MB/s | 80–150 MB/s |
| SATA SSD | 400–550 MB/s | 350–500 MB/s |
| NVMe SSD | 1000–3500 MB/s | 800–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:
- Connect the USB drive to the PCS.
- From Terminal, find the drive:
lsblk
- Mount the drive:
sudo mkdir -p /mnt/externalsudo mount /dev/sdb1 /mnt/external
- 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 prunemonthly - 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