Hi, I run a small self-hosted forum on a 25GB cloud VM running Debian 13. I was attempting to update to 2026.6.0-latest using ./launcher rebuild app and the update cancelled because I didn’t have enough disk space. I followed the prompt to clean up Docker images, but that didn’t help. I have 3.9 GB remaining. My forum’s uploads amount to 138 MB, and I have backups amounting to 448 MB. My server is bare except for the Discourse install, I haven’t done anything else with it.
After digging with du, I found that /var/lib/containerd is 13 GB, and /var/docker is 5.1 GB. Is it normal for these to consume so much space? Is there anything I can do about it?
If it is normal, I guess I’ll just have to pay for more storage. Just wanted to confirm before I take on the extra expense. Thanks!
It’s worth running a cleanup. Please post details of what happened. Here’s one I once did:
root@ubuntu-2gb-nbg1-1:/var/discourse# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 19G 12G 6.5G 65% /
root@ubuntu-2gb-nbg1-1:/var/discourse# ./launcher cleanup
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:33ce56b3484175342191a344fe1aa9f330431de7bf6f0f0e14f75c5bd851a5b0
deleted: sha256:5e04a0411f813e8f2c1a50d84a7d7bb1b17a855ce041730cf8e3b2fb90144b19
untagged: discourse/base:2.0.20200512-1735
untagged: discourse/base@sha256:7f6c5be23a8e4237cecafaca9d041de5964f8237345b7b183cebdee1f73ed024
deleted: sha256:991acdba0b1f18141192f8682bc5ec1c3365dff0d4fa1c6504e6ce0e3ae6dd76
deleted: sha256:e1c41c8dbd697ae0a61ca612c61f085f69f5bf74c4269cf5c68b4de0fec723fa
deleted: sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13
untagged: discourse/base:2.0.20200724-1815
untagged: discourse/base@sha256:1d5eb2f8eae84203b28d3c643648d0dd7d213c2055865cfa5132e30db9e365d5
Total reclaimed space: 2.591GB
# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 19G 8.7G 9.3G 49% /
It’s worth taking a detailed view of disk usage and posting it here too! See for example
If you have any backups on the system, you should download them, test them, and delete all but the latest. If under extreme pressure, delete the latest too. (In my case, I make sure the copy I downloaded is also covered by my own personal offsite backup first. Always have at least two copies.)
Aside from du, which answers questions at the OS level, you can ask questions at the docker level. Please post your detailed findings!
# docker volume ls -qf dangling=true
# docker images -a
It is difficult to juggle disk usage on a 25G instance - I did it for a long time, using up time and making use of sysadmin experience. Eventually I switched providers, paid less and got 40G and that was much better.
The output of docker volume ls -qf dangling=true was empty. Actually, docker volume ls is empty.
docker images -a:
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
discourse/base:2.0.20260209-1300 50d2dae489a9 4.77GB 1.12GB
discourse/base:2.0.20260521-0047 27373b823bbe 4.89GB 1.17GB
local_discourse/app:latest 01527763be8d 6.9GB 1.63GB U
I know too little about Docker to diagnose this output, but /var/log/ seems a bit large if it’s just logs, and it’s interesting to have 3 images when I have just 1 forum running (maybe that is totally expected though).
Appreciate the point about more storage space. I will probably expand, but this is a good learning experience before I do.
You can save a bit by reconfiguring the journalling:
I’ve never really understood the docker container management. Sometimes cleanup helps. I ran these commands just now:
# cd /var/discourse/
# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 38G 24G 13G 67% /
# docker images -a
i Info → U In Use
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
discourse/base:2.0.20260209-1300 18ccefc73392 3.1GB 0B
local_discourse/app:latest 810ac5579584 4.57GB 0B U
<untagged> d303cfc49c99 4.37GB 0B
<untagged> a9d03385c205 4.34GB 0B
# ./launcher cleanup
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:d303cfc49c992b7fa0b0da65e38f3de79312c6e42eb99e5fd7b27bf4e237ab1d
deleted: sha256:829057c668fd2bd0f7b863c2589e5c3c27364285b39d6df31d38eb208e6410df
untagged: discourse/base:2.0.20260209-1300
untagged: discourse/base@sha256:50d2dae489a9c9916c3d50d880f7f1282fcbe179339b60a8947ab135c1f1f9bf
deleted: sha256:a9d03385c205f740e5f02db0c665a83688f7194d5386bd2d01772b8b5cd5dc65
deleted: sha256:70ec1b4b6cab7365b5f56b8187ef7631e6906fe13b5d3a2b1e39d3457d14514c
Total reclaimed space: 2.517GB
# docker images -a
i Info → U In Use
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
local_discourse/app:latest 810ac5579584 4.57GB 0B U
<untagged> 18ccefc73392 3.1GB 0B
# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 38G 21G 15G 59% /
To test a backup fully, you’d need to restore it (somewhere) - mostly I just check the size, and use gunzip -tv filename
to test that it is intact. I might use tar tvzf filename | less
to check the contents: a compressed database backup and in my case a number of uploads.
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
untagged: discourse/base:2.0.20260209-1300
deleted: sha256:50d2dae489a9c9916c3d50d880f7f1282fcbe179339b60a8947ab135c1f1f9bf
deleted: sha256:1bb6f08ca8363e7e002eaf8bafc76b7742d8baa429f816cde77d3d38d234c98a
deleted: sha256:07596c600885cf3f0647c4b41959c5631328ee37af14913b9f2b1b1771ad4f45
untagged: discourse/base:2.0.20260521-0047
deleted: sha256:27373b823bbeca526dd006cefe1c58e7eeca1e5670ab6e619fcd2138f7d50420
deleted: sha256:ab90467600edc09bae8ac2f43420b7c771f87d357aa15646cd40025ec0774fda
deleted: sha256:053438a5cf1727f724f96a4d7af0b135929f633afd8ee05edcddeaf99232b636
Total reclaimed space: 1.17GB
This is odd, though: my Discourse forum just went from reporting 3.9 GB free to 8.5 GB free. If I run du -hx / | sort -h | tail -49 again, you can compare with my previous results, and /var/lib has shrunk by 8 GB: