I know a similar question has already been posed on StackOverflow, but it was posed over four and a half years ago, and I'm wondering if there have been any more recent solutions than those provided in the answers (particularly given that some of the projects mentioned appear to have been mothballed).

Briefly, I am developing a small, internal, social networking app in Ruby on Rails 3.2.6 and PostgreSQL. Currently, the app is hosted on a VPS (Ubuntu). The app is pretty much a "standard" app, but is dependent on both ImageMagick and FFMPEG libraries. Additionally, each staff member has an account on the system, so can upload data to it remotely from their own PC.

Without going in to too much detail, the app has worked quite well, to such an extent that some contacts have asked if they can use a version of the app on their own servers.

The obvious (I think) solution would be to make the source public on GitHub, and to encourage our contacts to clone the app and deploy it to their own server. However, there are all sorts of problems with this approach, in particular the fact that most of our contacts are not technically adept enough to install the correct versions of Ruby, Rails, PostgreSQL etc., and to debug stuff if these dependencies are installed incorrectly.

As an alternative we're looking into creating a distributable, "blank" (i.e. no content in the database - apart from, say, an admin account) version of the app, in which our contacts only need to set up, say, a Ubuntu server, double-click on the executable file and, hey presto, the app is available on their own server for their own staff to access.

So, my question is - what's the most appropriate solution here? A recent post suggested Warbler (and I'm considering JRuby), but I'm slightly confused as to whether this gem only allows the creation of standalone Rails apps (i.e. apps that can subsequently only be used on a single person's PC) or apps which can be hosted on a server and accessed by a wider group of people. Plus, it is essential that the app has access to ImageMagick and FFMPEG libraries through the relevant gems - I'm not sure if this impacts upon any decisions.

I realise this is quite an open question, and therefore there possibly aren't any simple solutions, but any feedback would be most helpful.

Thanks!

有帮助吗?

解决方案

I am not sure if some link you gave already mentions it but one other option is to distribute an image (with everything properly installed) that your customers can load in a virtual machine. It's the approach GitHub Enterprise went with.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top