Vps Clean Up Space

Looking df -h my /dev/sda1 was 98% full. Oh boy! Lets dig deeper.

root@ark ~$ sudo du -h --max-depth=1 / | sort -hr | head -n 10
37G     /
22G     /var
8.0G    /srv
3.8G    /root
2.8G    /usr
163M    /boot
51M     /tmp
6.7M    /etc
1.6M    /run
100K    /home

Looks like /var needs to be cleaned up.

root@ark /var$ sudo du -h --max-depth=4 . | sort -hr | head -n 20
22G     .
17G     ./lib
14G     ./lib/docker
5.7G    ./log
5.4G    ./lib/docker/overlay2
5.0G    ./lib/docker/containers
3.5G    ./lib/docker/volumes
3.4G    ./lib/docker/containers/8554cc18a1515c51136d24a1ae745473b8b9cf443305d6fe0a5ceca2256e2506
3.3G    ./log/journal/7b782f4d055049cda23d8caf1a4f61da
3.3G    ./log/journal
1.8G    ./lib/postgresql/12/main
1.8G    ./lib/postgresql/12
1.8G    ./lib/postgresql
1.4G    ./lib/docker/overlay2/6pi8vs313frnq56clp4j9ieh8
1.2G    ./lib/docker/containers/79f20b45bbdc34b143a9a747bbd2c79f141767df0a58544ba23db518dbcfc9d2
1.1G    ./lib/docker/volumes/ee4e3b66f872305602df73451e63c90c298fd51c91e282064957acef7854af5c
1.1G    ./lib/docker/volumes/80e7fa85974888ad947cd8e188bb48a55008d4cdae249beecab06d4706fbdaf4
1.1G    ./lib/docker/volumes/79c6254960b070c4e2b071a9296d269cb87e2fdac777f84c2d00e22d04a429e1
828M    ./lib/docker/overlay2/eb8dc823da628dade5a3adb3e4a17347d6db67c20574fb6ad10da470de8979ce
711M    ./lib/docker/overlay2/a0e634e68c79c2f929e92c3b2f3ea0f5cbcd9095f54814381de8bff2786f46ed

The immediate thing visible to me is to clean up journalctl logs.

root@ark /var$    journalctl --disk-usage
Archived and active journals take up 3.2G in the file system.

root@ark /var$    sudo journalctl --vacuum-size=500M
Vacuuming done, freed 0B of archived journals from /run/log/journal.
Vacuuming done, freed 0B of archived journals from /var/log/journal.
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-0000000007ed0b94-00062b30e109733e.journal (72.0M).
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-0000000007edf06e-00062b91ca3f00e0.journal (72.0M).
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-0000000007eed415-00062bfbd94c81b2.journal (72.0M).
...
...
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-00000000080f3662-000637307aef0b62.journal (8.0M).
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-00000000080f4504-000637346a83cc35.journal (8.0M).
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-00000000080f54b0-0006373c05baad8b.journal (8.0M).
Deleted archived journal /var/log/journal/7b782f4d055049cda23d8caf1a4f61da/system@8dd0f01b2b5e40f3b03f700a85ff57e6-00000000080f643e-0006374388ed8201.journal (8.0M).
Vacuuming done, freed 2.7G of archived journals from /var/log/journal/7b782f4d055049cda23d8caf1a4f61da.

Then I ran

root@ark ~$ docker container prune
root@ark ~$ docker image prune
root@ark ~$ docker images -a
# and manually removed some old images

TIL: docker system df is a useless command

Another thing which saved almost 4G of data was to truncate the container logs:

sudo find /var/lib/docker/containers/ -name "*-json.log" -exec truncate -s 0 {} \;

And bam I recoverd around 11G total

root@ark ~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G  4.0K  1.9G   1% /dev
tmpfs           385M  1.6M  383M   1% /run
/dev/sda1        38G   26G   11G  71% /