And then half of the time the docker containers you need aren't built for ARM so your RPI home server cant run it without building it all yourself or finding an alternative container that is built. And then docker has no built in update mechanism so you have to constantly manually check that nothing you are using has any updates.
The only time docker actually is simple is when you use one of the "all in one" containers that has everything you need but then it binds to port 80 and 443 and now thats the only app you can run.
Docker could be used in combination with a sandstorm style tool. The real value in Sandstorm was meant to be that you didn't have to configure everything, you just press "install" and it would be all done for you and kept up to date.
Dokku is single-server only, however. So if you need a Docker swarm, you'll have to do that yourself :)
Another option is CapRover, which is also free and open source. CapRover is a simple interface for Docker Swarm, Nginx, and Let's Encrypt that is designed for deploying web services. It optionally supports scaling web apps across multiple servers, and also includes a web interface which can be used in place of its CLI, if you prefer to manage the system in the browser.
That only says you haven't spent enough time. Say, 15 hours would be just enough to understand postgres container and figure out the best working configuration for you. Apps on top of it? Good luck spending extra 30 hours.
The thing is docker has never claimed that you don't need to learn about the software you're gonna run. It simplifies only deployment (a.k.a. installing and executing binaries) by providing uniform environment, and by making configuration files more reproducible, but it never reduced the complexity of software configuration.
But that doesn't mean Docker isn't a viable option for simplified server-application deployment. All we need is a set of well maintained recipes. It's just that there are too many recipes out there, unreviewed, untested, unmaintained. If one central party takes the responsibility here, Docker (or any other container solution) can outshoot Sandstrom in no time in terms of both quality and quantity.
You're right, a Dockerized alternative might be as good or better. But until such a platform exists (I do not count Cloudron because it's closed source now), it is not viable for the people Sandstorm is targeting.
Being with 0 experience with Docker and only with bare Linux experience, I'v set myself to set up nextcloud + mysql + nginx-proxy (with some custom config) + letsencrypt via docker containers on arm platform.
Learning docker basics, some docker-compose, I'v got that set up in a few evenings, maybe some 6 to 10 hours total (including first time experience of setting up raspberry pi with external storage). nginx-proxy being hardest part for me, as perfect image that fits arm platform was made available just after fair amount of searching and trying to understand what it takes to make it compatible with arm.
After all, I was really pleased with what I felt how much docker saved time for me. Maybe not really fast, but some productive full working day that is. I'v learned something about a new technology that gave me nice preconfigured webserver with hardened TLS settings etc. I thought, if I'd have to go down the route of manually installing this dependency, configuring this and that, etc - uh, that would surely have taken me longer.
The other side being a joy was - hey, I can host this all on a single raspberrypi, the frontend is isolated from backend and I can still add stuff behind nginx-proxy (and it will be isolated from nextcloud frontend), as my RAM usage is somwhere around 512MB.
Just wanted to share how I feel about Docker when putting my hands on it (single host, swarmless scenario)
If your widget takes 6 steps, and another otherwise equal one takes 1 step, then whether that widget is for users or developers, the choice is a no-brainer.