I'm not 100% sure about that, I mean the total of ubuntu base images on my instance is around 80GB, each image from the app store takes between 2 and 4GB. Next to those, my alpine image is less than 100MB. Yet I find that 100MB is still way too big, I can likely reduce that.
And based on docker images listing and du, each image seems to really take an average 2.9GB.
~# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.6G 3.3M 1.6G 1% /run
/dev/sda3 588G 77G 482G 14% /
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 2.0G 170M 1.7G 10% /boot
u426552@u426552.your-storagebox.de:/home/storage/music 1.0T 63G 962G 7% /mnt/volumes/8c4c2f7f0e8a44e090fc857a64b1f316
u426552@u426552.your-storagebox.de:/home 1.0T 63G 962G 7% /mnt/cloudronbackup
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/941561b6b216ede950e95d525f676defe98425be86c02edd6737e95e848d3487/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/a47d7cd82e5ba37dc642d53159323dd0be0e080d0c59f44656ff39e86fd8077f/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/84c4252012d0d027e49529377605b19cdde5385594120b9215ec8f4b601997f1/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/e4fd2d9876ba48aa5b1a3890192af605268b1b06914f074cd51538e5cd8e732e/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/4186641821aa776be6f3453c44e5f6999dfd62ecea985da3b799034ac42c4805/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/e5f5b26adf7f4c491b7e00976b47eafd6e11211d0b9cd87232636495ac0fa69c/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/2128a944d0c3beea65ecf91c51172fd22877df72bda73a0b69019d575472e9b9/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/e8f3a7b55229fe43505b9c71a78887dd80a514e2dfde620d561b7e63295451c3/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/ca7099594dd0c471f3ee269f64c04c57784b6ac97d42a1ccea7e5c23f45adfcf/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/32ba3a826dc24b5096484b1a18f4e0fd4b490f8d0f8ee8dbcbfd0ef024683340/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/06f378a7b62b5c9385871a9cdf43d8cdfe100dc563f398c99a5a4aa0ff923de1/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/65d95b78cba9b8a6dbfa86dc8f87646ede5af06e197ff6b9e1208dfaf7bbc9c5/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/2be16e71c52c9d9028e5ae2ddafa21afe897006148999bc20e1c041cc2afd16c/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/3af0a5bce6cc8b11c29471214209ea182602078d062d05d098a8872eabc40429/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/7a0800829a76a92d356ff710b3882c3f12612d376d3797d7676f044e9ad62214/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/b15f684ada5eb3ef784fcedf484738c56a051c47597ad20da548f46a937fe571/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/3da17d53de6c6daa5898d644eb74c1e2099a1a192ccfb0ed827911a23980bde1/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/a37ad3291da4944e667e16342124417d1ac66370c87ad7e8278979ab42c71c8e/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/792eecae61fcc06c5bf9ed01839c2a6c5b41e097efb3aa1cd529b7ad441a9392/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/68bf9a6faa884822bf107ae36daa4fdec7a090281370cbfbc49bffe4b7a5bd0d/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/c8fb2e965fa85ce289436eb96e56584a06765cade5f2cd7d43f77b930fefb928/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/992c00fe84e55e8aa06eafa32ccac9251ce194af33082a711ea6ef7812818285/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/704413a277d07d199ae7801cd9c812ec9db6f61870582468ad0c34c855924af5/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/13e0b0ac613a3bb2769e75def0d88c476399849faf55b0b54a44c11ffd693040/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/2afe0cb63975cfb247549d41319f40d1b2eab5ece8645fccbb999715da1472d2/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/e159b65ba533df6c3df4d9b6b5c4ebbbb53c337e9cf882e6b104072f535826fa/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/19aa6f3f67da9f897ca14b16f3dd58e776481c8f88a7df6147f6b9d0c3dc5229/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/c1867646b12beaad46d3332f566dd9ef3acccc39f459dd93259679965ab0b2ce/merged
overlay 588G 77G 482G 14% /var/lib/docker/overlay2/1863229ae55deed6b180bcb7086b166041bcf84caf862dc7162eb1f4cb0cdadb/merged
tmpfs 1.6G 0 1.6G 0% /run/user/0
root@vmi1545666:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
cloudron/org.navidrome.cloudronapp 202412221800040000 955f3ed8bda9 29 hours ago 2.26GB
<REDACTED_MY_APP_REF> 1.0.9 342c00f06dd1 41 hours ago 95.5MB
cloudron/app.miniflux.cloudronapp 202412202203500000 3ab5b7255d6f 3 days ago 2.23GB
cloudron/com.invoiceninja.cloudronapp2 202412201425110000 114bf2ee41e6 3 days ago 4.32GB
cloudron/com.github.bitwardenrs 202412201132130000 b07e9c5ab7d5 3 days ago 3.55GB
cloudron/calibreweb.janeczku.github 202412200520170000 c4c0b840c65a 3 days ago 3.49GB
cloudron/lamp.cloudronapp.php74 202412180703290000 35ef2ed19d95 5 days ago 2.64GB
cloudron/io.changedetection.cloudronapp 202412170520280000 5d612c3fbb5c 6 days ago 3.99GB
cloudron/io.gitea.cloudronapp 202412131720400000 fec9c8c07eca 10 days ago 2.8GB
cloudron/com.github.shaarli 202412081824370000 f174ed03ee2d 2 weeks ago 2.23GB
cloudron/net.syncthing.cloudronapp2 202412031651540000 c7a0a056a716 2 weeks ago 2.24GB
cloudron/org.wordpress.cloudronapp 202411220220380000 f04002c311c5 4 weeks ago 2.37GB
cloudron/info.privatebin.cloudronapp 202411161255100000 c3b260ef0b6d 5 weeks ago 2.21GB
cloudron/org.getgrav.cloudronapp 202410281158520000 d52bf6ab8b2b 8 weeks ago 2.29GB
cloudron/tech.ittools.cloudron 20241022-105954-145356468 387ecffe94e3 2 months ago 2.22GB
registry.docker.com/cloudron/redis 3.5.4 edcfcc0608c6 2 months ago 2.22GB
registry.docker.com/cloudron/sftp 3.8.9 c595fcbbe0a3 4 months ago 2.23GB
registry.docker.com/cloudron/postgresql 5.2.3 c0270fdfd54f 5 months ago 2.75GB
registry.docker.com/cloudron/mysql 3.4.3 f1c143716f42 5 months ago 2.53GB
registry.docker.com/cloudron/mail 3.13.1 ac386518998a 6 months ago 2.89GB
cloudron/sh.ntfy.cloudronapp 20240514-072708-5696fd1ad 2a1124f439c9 7 months ago 2.26GB
registry.docker.com/cloudron/mongodb 6.0.0 4b95d24318a2 10 months ago 2.69GB
cloudron/com.docker.registry 20240208-085138-349b78ba6 68797f159e9f 10 months ago 2.24GB
cloudron/com.rssbridgeapp.cloudronapp 20240203-090049-661e61c5a 6990eceaa76a 10 months ago 2.21GB
cloudron/org.yourls.cloudronapp 20231024-061626-421eac647 e89d47b182e4 14 months ago 2.22GB
registry.docker.com/cloudron/graphite 3.4.3 dbd026164ada 14 months ago 2.28GB
registry.docker.com/cloudron/turn 1.7.2 152b1fb9690e 15 months ago 2.22GB
registry.docker.com/cloudron/base 4.2.0 6ec7c1ab3983 15 months ago 2.21GB
I'm used to replacing GBs worth of binaries/code and services and thousands-dollars worth SaaS with simple shell scripts and python scripts, it's all fun for me to see how little things can avoid the bloat and costs we are used to with modern software and architecture. We shouldn't need 4GB worth of code to generate a pdf (invoiceninja), I mean it's literally done with 4K worth of python code.
A base image being 2.2GB in size is a red flag for me (at work but not only).
Anyway, I won't start a crusade, this base image solves problems, but I'm not gonna base my minimalist stuff on something 20 times as big as my big Docker image š