Yes: CasaOS can use USB HDDs and SSDs as long as Linux detects and mounts them. The practical questions are filesystem, stable mount path, permissions, power, and how each Docker app maps the drive.
Confirm Linux sees the disk
lsblk -o NAME,SIZE,FSTYPE,LABEL,MOUNTPOINTS
sudo blkid
If the drive has no mount point, fix that before troubleshooting CasaOS.
CasaOS organizes storage around /DATA
The current installer configures removable-media handling around CasaOS /DATA mounts. Stable paths under /DATA are easier to reuse in app bind mounts than transient desktop mount locations.
Choose the filesystem for the job
| Filesystem | Good fit | Trade-off |
|---|---|---|
| ext4 | Always-on Linux server disk | Less portable to Windows |
| NTFS | Shared with Windows | Different Linux permission behavior |
| exFAT | Portable transfer disk | Weak fit for app databases |
Map the drive into each app
A disk visible to the host is not automatically visible inside every container. Docker requires explicit host path mounts.
Use USB storage carefully
- Power 3.5-inch HDDs from a proper enclosure.
- Avoid loose cables for databases.
- Do not unplug mounted disks during writes.
- Use UUID-based persistent mounts for critical paths.
- Keep backups; a second disk is not automatically a backup.
The CasaOS drive management shows the storage model. The self-hosted app catalog helps identify apps that need explicit data paths.
If you outgrow USB storage, ZimaBoard 2 provides native SATA connectivity.
Make the mount survive reboots
For a permanent data disk, use a stable identifier such as filesystem UUID rather than relying on a device name like /dev/sdb1, which can change. Confirm the UUID with blkid and configure a persistent mount appropriate to your Linux distribution.
Separate media disks from application databases
A USB HDD is often fine for large media files, backups, or archives. Databases and frequently written app state are more sensitive to cable disconnects, USB bridge resets, and aggressive disk sleep. Keeping /DATA/AppData on reliable internal storage while using USB for bulk media is often a safer layout.
Check ownership after mounting
stat -c '%u:%g %a %n' /DATA/YourDrive
If a container runs as a specific PUID/PGID, make sure the mounted folder is writable by that identity. Filesystems such as NTFS/exFAT can use mount options rather than normal per-file Unix ownership, so troubleshoot them differently from ext4.
Check power and USB bridge behavior
Random application errors can be storage transport problems. For spinning drives, use an enclosure with sufficient power. If a disk disappears under load, inspect kernel logs:
dmesg -T | tail -n 100
Repeated USB resets or I/O errors point to cable, bridge, power, or drive health—not CasaOS permissions.
Safely remove a data drive
Stop containers that use the path, unmount the filesystem, then disconnect it. Pulling a drive while Docker has open files can corrupt databases or leave applications in inconsistent states.
FAQ
Can CasaOS live on an SSD?
CasaOS runs on top of Linux. If the supported Linux system is installed on that SSD, CasaOS can be installed there too.
Can Jellyfin use a USB HDD?
Yes. Keep the mount path stable and bind-mount that folder into the Jellyfin container.
