I am looking to offer a free deployment system for ruby web applications (based on rack and not ruby on rails) so essentially I will allow users to upload a file with their app and the app will show at http://user.domain.com
While I am trying to parse what is uploaded as an app the only way to be sure that this will not create any damage is isolation. I plan to achieve this with a FreeBSD jail.
The first problem is that we will have a single IP. I am not sure if these two methods are appropriate for multiple apps that all need to run on port 80:
http://blog.burghardt.pl/2009/01/multiple-freebsd-jails-sharing-one-ip-address/ http://www.bsdtips.org/index.php/Giving_a_jail_multiple_IPs_with_pf_and_NAT
The template with a standard ruby install can be possibly done with http://erdgeist.org/arts/software/ezjail/
The question is if this setup would be appropriate OR I would need a nginx reverse proxy setup ?
Will the ruby app running in a jail be guaranteed not to create any damage for other users/the server ?
What would be the recommended setup to achieve this multi hosting environment with FreeBSD+jail?