Docker image with shell

Hi community,

First time poster after i searched the github issues and discourse posts, but didn’t find a discussion about the following topic, hence give it a try:

Issues with the current approach

The current docker image is based upon distroless which ships without a shell. This makes it mostly unusable in automation jobs like CI as visible in zola’s official documentation on how to deploy to e.g. sourcehut, gitlab pages, codeberg pages etc. GitHub Pages gets away because someone build an docker image/action for zola. There are other zola docker image provider but the ones i saw are outdated.

The alternative is to install is via some base image package manager with varying degree of control about the used zola version or install via script from github releases which works but is not out-of-the box dependency manager compatible like a docker image would be.

Distroless vs with shell

I understand that distroless brings a security advantage vs. image with shell, however since zola is used for building the site not production serving I would argue that a central image which can be used by most use cases is more valuable than the reduced attack surface on a local developer machine.

It would also simplify in many cases the CI scripts and make it easier to specify the targeted version. However an latest tag would also be useful in at least the CI use case.

Backwards compatibility

Not sure what the real world use cases currently are, saw some docker documentation with this image used which seems to use it as a CLI mostly. For this particular use case i guess it would be backwards compatible or could be backwards compatible made (by still specifying the entrypoint to be zola). However not sure if there are other.

Proposal

Many of the “workaround” images use alpine images as base. They are small and fast for most use cases.