Hetzner server disk full: what the console shows, and what to do
If your Hetzner server’s disk is full, the console will not tell you. It graphs CPU, disk I/O and network from the host, so it never shows how full the disk is and sends no alert when it fills. Log in and follow the Linux disk full guide to find and free the space. If you need more room for good, either rescale the server to a type with a bigger disk, which cannot be undone, or attach a Volume, which can grow later but never shrink.
What the Hetzner console shows
The console’s graphs are read from the host, not from inside the server. They cover CPU, disk reads and writes, and network traffic. Disk I/O tells you the disk is busy, not that it is full. The first sign of a full disk is usually a failed deploy, a database that stops writing or a container that will not start.
Free space on a full Hetzner disk first
On Hetzner servers built from the Docker CE app or running Coolify, the space usually goes to /var/lib/docker: images, build cache and container logs. Start here:
df -h
docker system df
sudo du -xh --max-depth=1 /var 2>/dev/null | sort -h | tail -10The Linux disk full guide has the commands to clean up each one safely.
Grow the disk
| Option | What happens | Can you undo it? |
|---|---|---|
| Rescale to a bigger server type | The primary disk grows with the new type. Grow the partition from the Rescue System afterwards if it did not grow by itself. | No. Hetzner never shrinks a disk, so you cannot rescale to a type with a smaller one. Keep the current disk size when scaling up if you may want to scale back down. |
| Attach a Volume | Block storage from 10 GB to 10 TB for one server. Move Docker’s data or your database onto it. | Grow it any time, with no downtime. It can never shrink. |
After growing a Volume in the console, grow its file system on the server:
lsblk # find the Volume's device
sudo resize2fs /dev/disk/by-id/scsi-0HC_Volume_<id> # ext4
sudo xfs_growfs /mnt/<volume> # XFS