We are going to be hosting around 20 client sites for Ruby on Rails. We need the best Control Panel for our Server/VPS what do you recommend? I've researched and can find no good blogs or posts about this exact subject.
Some of my findings:
1) Cpanel does not seem good as it doesn't support Rails 3.2.8
2) Would just SSH manual config management be enough? Some people have told me that is what people do with capistrano. But how do you control resources like bandwidth, cpu usage?
3) In the future we would like to offer a free trial signup that auto-creates the accounts and installs our app.
The ideal solution would be similar to cpanel, but allow Rails 3.2.8 running with Apache/Passenger
I think many Rails firms build out their own control panel in Rails. If you're on one VPS, this should be very easy. (If you have multiples VPSs, it's still doable, but your control panel app will have to do everything via SSH, perhaps using Capistrano.)
In your control panel Rails app, you can create some models that know how to do various server administration tasks. For example, if you're using Apache, one of your models will probably have to know how to edit http.conf
to add a new virtual host.
Your idea about automatically creating the apps on signup can be done this way too. Write some model logic that checks the app out from source control, creates the virtual hosts or whatever, creates the database (if each client gets their own), etc.
Also consider pushing some of the tasks onto a job queue, rather than handling them synchronously. (I'm a big fan of resque). This is a good idea for tasks that take a long time, such as checkout from source control.
You may even want to extract all this server admin functionality into a gem for your private use. Then, you can easily perform the same tasks from custom scripts outside the Rails app, should you need to.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With