Stacks
Table of Contents
Bamboo is the default stack. Cedar, the most recent stack, is in public beta and offers significant enhancements and new features.
A stack is a complete deployment environment including the base operating system, the language runtime and associated libraries. As a result, different stacks support different runtime environments.
Stack summary
| Base Technology | MRI 1.8.6 | REE 1.8.7 | MRI 1.9.2 | Node.js | Clojure | Java | Python | Scala | |
|---|---|---|---|---|---|---|---|---|---|
| Argent Aspen | Debian Etch 4.0 | • | |||||||
| Badious Bamboo | Debian Lenny 5.0 | • | • | ||||||
| Celadon Cedar | Ubuntu 10.04 | • | • | • | • | • | • |
The current default stack is bamboo-mri-1.9.2. You may target a different stack when creating an app or change stacks on an existing app via a stack migration.
You can see what stack your app is on, and all available stacks, using the heroku CLI:
$ heroku stack
aspen-mri-1.8.6
bamboo-ree-1.8.7
* bamboo-mri-1.9.2
cedar (beta)
Here, the app is running on Badious Bamboo, using MRI 1.9.2. The Argent Aspen stack and the Celadon Cedar are also available to this app.
Using a specific stack
You may specify a non-default stack during app creation with the --stack (or -s) flag:
$ heroku create --stack cedar
Creating glowing-mist-330... done, stack is cedar
http://glowing-mist-330.heroku.com/ | git@heroku.com:glowing-mist-330.git
This app is now automatically setup to use the Cedar stack, which supports several languages and frameworks.
Migrating to Bamboo
Migrating to Bamboo is a simple and automated process. Detailed instructions can be found on the “About Bamboo” page.
Migrating to Cedar
Migrating from Bamboo to Cedar allows an application to take advantage of a much more flexible and powerful stack. Because the significant architectural differences, migrating to Cedar is a largely manual process.
You can find instructions for migrating to Cedar here.