This build script would include the following:
Some auxiliary actions include:
Now, I already have a build script that does all this for me. The idea here is to automate this through a build script, and then present the developer with a UI/dashboard to manage it.
The dashboard itself would be hosted on GitHub, and upon initial build, the server would check it out. It would be written in PHP, and would manage all the functionality of the server.
This management would include:
While the list of actions isn't extensive, I believe that they'd be very useful. They are things I do regularly through the command line, that shouldn't really need to be done through it.
A catch is that all the data needs to be accessed directly from configuration files. I wouldn't want to create a separate data source to manage the configuration itself.
The reasoning is this: I want to still be able to do things from the command line. I want to be able to create new virtual hosts, restart server(s), change settings, etc. I don't want the dashboard to conflict with this.
I think having it hosted on GitHub would make pretty solid sense too, as I could
roll out updates to various servers that I was running (let alone others) by
simply do a
pull on them. The dashboard would then get updated with more
options, across my servers, assuming I ever get to the point of having more than
one micro :)