Last updated 21 October 2020
Table of Contents
This article describes the Heroku-18 stack, based on Ubuntu 18.04. What is a stack?
This stack is now based on Ubuntu 18.04, compared to Ubuntu 16.04 used in the Heroku-16 stack.
Package installations were performed using
--no-install-recommends option, which removed many unneeded packages mostly related to the X11 windowing system and Tcl/Tk that were present in previous stacks, resulting in a smaller stack image size. The Ubuntu Packages on Heroku article lists all package additions, changes and removals compared to previous stacks.
Every stack on Heroku supports different operating system packages and language runtime versions. This support is typically confined to software that was still actively developed by the respective maintainers at the time the stack was first released.
For the most accurate information on supported language runtime versions, please check the individual language pages:
Operating system packages
For a full list of operating system packages available on Heroku-18, please refer to article Ubuntu Packages on Heroku Stacks.
Heroku-18 is based on Ubuntu 18.04. It will be supported through April 2023. Learn more about Heroku’s stack update policy.
Testing and upgrading your app
Learn how to test and upgrade your app to Heroku-18.
We recommend that you monitor your application’s performance after migrating an app to the new stack to ensure it’s performing correctly.
Heroku-18 Docker image
Heroku-18 is available as two Docker images:
- The runtime image (
heroku/heroku:18) is recommended for most workloads;
- The build image (
heroku/heroku:18-build) is larger and includes development headers. It is only recommended for customers that need to compile source code.
Use the following command in your
Dockerfile to use Heroku-18 as your base image:
Learn more about deploying Docker images to Heroku.