What is the best free and open source, self-hosted PaaS?
Swarmlet is a free and open-source, self-hosted Platform as a Service that runs on any single server. It's mainly intended for use with multiple servers, a server cluster / swarm. Swarmlet is inspired by Dokku and brings the same simplicity to Docker Swarm. Swarmlet also uses Traefik v2 and Let's Encrypt to provide automatic SSL and load balancing on your apps.
Dokku is a free and open-source project that helps you build and manage the lifecycle of applications. With Dokku developers can setup their own PaaS (Platform-as-a-Service) in a matter of minutes. Dokku provides extra plugins which can be used to manage database, and tools needed for your application. If you need to server your application over HTTPS, Dokku got you covered as well, with the help of Let's Encrypts free TLS certificates.
CapRover is an free and easy-to-use application deployment and server manager for NodeJS, Python, PHP, ASP.NET, Ruby, MySQL, MongoDB, Postgres, WordPress and more. With CapRover you can create your own PaaS (Platform-as-a-Service) similar to that of Heroku, and deploying it to your own cloud instance.