Maybe go ahead and take out the battery for now. If you want to keep it in as a built in ups(one of the main benefits of using a laptop), one route is to run Home Assistant and put the laptop power cord on a smart plug. Figure out how to get the laptop battery % into Home Assistant and turn the plug on if the laptop goes below about 35% and back off when it goes above 85%. This is the strategy used by many people to prevent spicy pillows in wall mounted tablets, but same idea would apply here.
Personally I’ve been running docker via Unraid for about a year now and while it was easy I had very little understanding of what I was doing beyond following the instructions provided with the templates.
About a month ago my Unraid machine nuked itself and rather than rebuild it as is I decided to take the opportunity to try something new and set up Ubuntu Server on a Raspberry Pi I had lying around and set up docker on it from the ground up. Terminal only. I did install portainer but I’ve only used it for monitoring, and tbh I could probably just shut it down at this point. I learned far more in a week of getting a few containers running than I did over months of running via a web ui. I actually started with pure docker run commands and then moved on to docker compose to get a fuller appreciation of the whole process.
Honestly not knowing yaml won’t hurt you too much. Biggest thing that bites pretty much anyone going in is that yaml absolutely cares about whitespace. Keeping indentation consistent is essential. Once you get a feel for it it’s surprisingly intuitive.
If AWS is on your radar, might I suggest this guide I came across recently? Notably it makes use of SES for the SMTP, which means that your outbound emails will appear to come from Amazon’s mail servers rather than yours. Outgoing mail can often be the trickiest part of self-hosted mail, as mail from “untrusted servers” will be extremely likely to get flagged as spam.