App Platform - how to specify a certain stack for legacy version support?

I’m trying to get a legacy Ruby on Rails app running on the App Platform - it’s currently using ruby 2.3.1, which I realise is fairly old now - upgrading is on the cards, but ideally I’d like to get it running with this version first.

I deploy, and see this message:

The Ruby version you are trying to install does not exist on this stack.
You are trying to install ruby-2.3.1 on heroku-18.

Ruby ruby-2.3.1 is present on the following stacks:
 - cedar-14
 - heroku-16

Is it possible to specify the stack somehow? I can’t seem to find a configuration option for it.

Many thanks for any help!

Submit an answer
Answer a question...

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Bobby Iliev
Site Moderator
Site Moderator badge
February 15, 2022

Hi there,

I’ve just checked the official documentation and it looks like the Heroku-16 stack reached end-of-life on May 1st, 2021:

What I could suggest is either:

  • Try upgrading your Ruby version to a newer one so that it would be able to build on Heroku-18
  • Create a Dockerfile so that your App builds from the Dockerfile rather than the Heroku build-packs:

Let me know how it goes!