I did have a checklist written down to do things like partitioning, bootloader installation and network and other configuration with small snippets of bash but this still tends to be quite a long and manual process. That's why I recently decided to put all of that knowledge into a complete bash script so that I could get the installation done quicker. While the debian-installer with preseed route seems no longer viable since it looks like Ubuntu are discontinuing it at some point and I do tend to use both Ubuntu and Debian.
So, https://github.com/kvaidas/debootscript is the result.
Not only is this useful for under-powered machines, I also used this on machines at hosting companies after getting burnt several times by their custom "improved" images/configurations which break stuff at the worst time possible.
Some nice things about it are: having less stuff installed so possibly a smaller attack surface as well as a smaller amount of updates. Less diskspace usage so quicker and smaller images/snapshots/etc.
Of course this is just a bootable base system with networking and not useful right after the installation but since networking is already available, it's possible to use your favorite config management tools and existing playbooks to shape it into something actually useful - without doing stuff manually.
Note: this does turn off Install-Recommends and Install-Suggests so you might find some dependencies don't get installed automatically and you might need to intentionally install some dependencies.