I don’t see a purpose to this in an era of Docker. They say their mission is to make it easy to host your own web apps, and provide some security around those apps, but Docker makes this easy as well and also provides a small amount of insulation around containers.

I have spend at least 15 hours trying to self host things with docker with little success. Its not nearly as easy as people make it sound. You don't just "docker run ..." and away you go. You have to spend ages reading the manual for each app, creating configuration files for the app you want to host and then mounting them in to the container, then you have to set up a database, reverse proxy, certificate renewal, and then you have to network it all together.

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.

I can heartily recommend you something called Dokku, which more or less takes all the pain out of Docker. I had no experience with this, but got fed up of spiraling Heroku costs. Decided to slap Dokku on a €2.50 pcm VPS, runs like a charm. Multiple containers all communicating with one another, staging, production, failover environments, shared storage, all behind multiple SSL-secured domains.

Dokku is single-server only, however. So if you need a Docker swarm, you'll have to do that yourself :)

Dokku is great for deploying web services using Docker on a single server, especially if you are familiar with Heroku buildpacks/services and prefer to do everything in the terminal.

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.

https://caprover.com

https://github.com/caprover/caprover