A few years ago I mentioned that I was working on an open-source web hosting control panel, and I have recently picked this back up based on the latest AnyHosting setup (which is basically nginx+php-fpm in front, and proxying to Docker instances where something more custom is needed).
I've pushed everything that I am currently working on, including mockups (and even this blog!) to the anyhosting repo on my github account. NOTE - most things aren't functional yet, I am just working on it in the open.
The basic architecture is that there is a Django application in the webpanel directory with two apps - Files and Reports. Files is a file management application, and Reports gives a basic resource utilization report for a given website.
There will be an administrative app for creating/destroying sites which puts messages in RabbitMQ for the wrangler application. Wrangler is a Celery worker which creates nginx virtual hosts, and populates Docker instances using Shipper.