For me it is writting docker compose files describing my services. I like to test them on my machine before pushing them to the server(s). But I guess that’s my own fault for not using something like portainer or even SSHFS.
What’s the most annoying / painful step for you?
Probably keeping stuff up2date. Yes, “99%” can be automated, but there are still annoying things like switches & APs fw, UEFI, HV OS updates which can’t be sanely automated unless you are in for bricking the crap.
Bonus: proper monitoring and logging systems are just plain annoyance in general, because good ol’ there are always some edge cases.