mongo-express / mongo-express-docker

a dockerized mongo-express for viewing mongoDB in the browser
MIT License
198 stars 93 forks source link

Upstream pinning strategy #92

Closed LaurentGoderre closed 9 months ago

LaurentGoderre commented 9 months ago

Hi,

I am looking at the Dockerfile and a bit of the history and I was wondering if a slightly different pinning strategy for the base image might be easier for this team to manage. The app looks like a pretty straightforward web app with no dependency on low level OS feature meaning a change in the alpine version is less likely to break. For example, the current image is stuck on Node 18.16 and doesn't get critical security update because Docker Node dropped Alpine 3.16 and only Alpine 3.17 get the security update.

On the other hand, the version of Node that is used seems to have a much greater impact on the app. To make staying up to date easier, it would be desirable to have the app available on multiple Node version. Keen users would be able to test the edge while more cautious ones can choose to stay on the earlier version.

To summarize I believe it would simpler to have

1               -> version 1.*.* on Node 18 on the latest 3.* alpine
1.1-node-20     -> version 1.1.* on Node 20 on the latest 3.* alpine

I am also proposing to help to implement this as I have implemented a lot of the Node multi-variant code.

LaurentGoderre commented 9 months ago

Turns out Nodes doesn't have tag for major version of Alpine but I figured a way to do multi Node and multi Alpine very easy. PR inbound