I am writing a server application (based on Ruby, but not Rails) which I would eventually like to ship as an appliance.

What is a good distro to use? My main criterion is that it should be small, so that the appliance has a small download size. I am open to either Linux or BSD.

I guess it should preferably be a server-based distro (i.e. no GUI out of the box) to save space.

What would you use, and why?

closed as primarily opinion-based by terdon Sep 27 '14 at 11:48

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    What level of "small" are we talking about? There is a tradeoff between absolute minimum size and how much of a PITA it will be for you to write/maintain it. E.g., is this small as in "under a gig" or small as in "fit in 64MB of flash"? – derobert Nov 14 '12 at 18:46

While a plain Debian GNU/Linux (choose no tasks with the installer and what you get is pretty lean) should do the trick, why duplicate work? Have a look at the TurnKey Linux Virtual Appliance Library (it's Debian-based). Especially note the Development section:

Customize an existing appliance or develop a new one

TurnKey is designed to be easy to build on using TKLPatch, a simple customization mechanism.

Example customizations include updating a configuration file, adding data files, adding a package and even creating a brand new appliance leveraging a generic appliance such as Core, LAMP, Rails, etc.

You are free to develop TurnKey appliances for private use, but we encourage everyone to share their results with the community. That way we can harness contributions to improve future versions of TurnKey.

Once we add a new appliance to the project we assume the burden of maintaining it at the appliance level with regular updates. This frees you to focus on more interesting tasks (e.g., improving quality of integration, software sub-components).

(It surely depends on what you're up to, but this could be a good fit.)

Apart from that, you could have a look at SUSE Studio to generate a JeOS image to underpin your application.

  • Thanks, got a few good suggestions here like SuSE studio and TurnKey. – mydoghasworms Nov 22 '12 at 8:27
  • SSD/Linux with it's BSD-ish take on how to make a distribution could be interesting here, too. – sr_ Nov 22 '12 at 8:59
  • Alpine Linux might satisfy your needs, too. – sr_ Nov 24 '12 at 9:49

Not the answer you're looking for? Browse other questions tagged or ask your own question.