Differences in the V6 stack from our stack older versions

Major Changes with the V6 Stack

Engine Yard's stack V6 is the first stack to be based on Ubuntu LTS distribution. Previous stacks were based on Gentoo. 



Ruby versions 2.3, 2.4, 2.5, 2,6, and 2.7 are supported. We recommend using Ruby 2.6 or 2.5. Selecting Ruby 2.3 will add 5-15 mins to instance booting since Ruby 2.3 is not included on the AMI and needs to be installed during instance booting.

Note: Some versions like Ruby 3.0 may not be listed in the edit environment section. These versions have to be configured via environment variable - EY_RUBY_VERSION on stable-v6.




Monit's use to monitor and restart processes has been reduced on V6. On this stack, monit is tracking the processes of web servers (passenger, puma, unicorn) and background jobs (resque/sidekiq). It's no longer being used for services such as redis.


Unattended upgrades

The unattended-upgrades package can be used to automatically install updated packages, and can be configured to update all packages or just install security updates.Unattended upgrades are disabled by default on /etc/apt/apt.conf.d/20auto-upgrades. Set environment variable "EY_ENABLE_UNATTENDED_UPGRADES" to true to enable security updates. If you wish to utilize unattended-upgrades package differently you have to create a custom recipe to modify its configuration files. File a support ticket and we will be happy to help you configure your instances based on your requirements.


Unicorn Gem

On Stack V6 you have to specifically include the Unicorn dependency in your Gemfile file as Unicorn gem is no longer provided by stack.

Consider adding the following:

gem 'unicorn'


Default system shell

Stack V6 is based on Ubuntu 18.04.2 LTS which is using dash as its default system shell (/bin/sh). As a result, deploy hooks might be affected. Read this detailed KB article for more.


Configuring the stack through environment variables 

Stack V6 allows several options to be configured directly through environment variable, eliminating the need to use custom Chef recipes for that. Check the v6 recipes repo for details on which options are available, and this detailed KB article for how to use environment variables on EY.




Article is closed for comments.