phusion / passenger-docker

Docker base images for Ruby, Python, Node.js and Meteor web apps
MIT License
2.78k stars 408 forks source link

Emphasize upgrade of base image from Ubuntu 18.04 to Ubuntu 20.04 #306

Closed irontoby closed 2 years ago

irontoby commented 3 years ago

Hello, many thanks for the excellent images you've built and maintained.

I recently re-built my Rails app (on Ruby 2.4) and ran into issues building gems due to the upgrade of the base Ubuntu layer from 18.04 to 20.04. (Specifically, I cannot build the specific version of mysql2 gem I need on 20.04).

While this is certainly a desirable change, this seems like it should have been more than a patch-level version bump!

I'm sure there are others like myself who will get bitten by this. For myself I just switched to the specific tag 1.0.11 which according to the changelog was the latest version to use 18.04.

Many docker images use tags such as phusion/passenger-ruby24:ubuntu-18.04 vs :ubuntu-20.04 to denote which version uses which base layer. However I realize that may give the false impression that you're maintaining the 18.04 version as well.

At the very least I think it would be helpful to point out in the README that anyone needing to stay on 18.04 should specify tag 1.0.11 with the caveat that it will not contain any further updates.

If you agree this would be helpful, I can submit a PR for the README to update that info?

pboling commented 3 years ago

SemVer is a very good idea for all open source software projects, and especially those that are dependencies of other projects, as is the case with this one!

tadman commented 3 years ago

This is even more of a priority in light of the Let's Encrypt root certificate roll-over:

Err:8 https://oss-binaries.phusionpassenger.com/apt/passenger bionic Release
 Certificate verification failed: The certificate is NOT trusted. The certificate chain uses expired certificate. Could not handshake: Error in the certificate verification. [IP: 109.107.35.58 443]

Ubuntu 14 is missing the updated certificates. apt update will fail.

CamJN commented 3 years ago

The latest images are based on focal, I bumped the major version, and the ca-certificates package is up to date so the let's encrypt issue shouldn't affect the new images.

Note ruby 2.4 and 2.5 images were dropped for being EOL.

mathieujobin commented 2 years ago

Many old rubies stopped being compilable under ubuntu 19.xx

Better try to upgrade ruby than holding on to 18.04 IMO 2.4 is EOL for almost 3 years. 2.6 is going EOL in April. 3.1 is coming out in 3 days ;)

tadman commented 2 years ago

@mathieujobin RVM can still make it work, which is a testament to the perseverance of the RVM team, even on Ubuntu 20.04 LTS.

tadman commented 2 years ago

To clarify: It is possible to build your own RVM + Passenger image if you're stuck in this situation. Once RVM is good to go, the Passenger install routine can take over as usual.

It might be worth making a reference base image that lets you pick your own Ruby version out of whatever RVM supports. Constructing a loose wrapper script that can walk through the RVM + Passenger install/config steps is simple enough, and offering it as an "official" way to support arbitrary Ruby versions could help others.