I want to ensure I'm always running the latest stable version of the Factorio server. I use Renovate to keep my containers up-to-date. Currently the highest version tag always points to the latest experimental version (which is sometimes the same as the latest stable version). This has caused me to upgrade to the experiment version by accident and corrupt my game data.
Other options to stay up-to-date require manual intervention:
Set image tag to stable and imagePullPolicy: always
This works if I frequently recreated the Docker container. In my environment the container is only recreated when I restart my computer, which is infrequent and sporadic enough that I'm not likely to always have the latest stable image.
Check which stable version is the latest and manually changing the tag
This is a manual process I'd rather avoid.
Use Renovate to look up the latest stable version to determine if it should be merged
This solution doesn't currently work because Renovate will pick up the latest version - without context if the version is a stable or expiermental build, I'd have to resort to manually checking which version is the latest stable version before I could merge any Renovate PRs.
Hence, this solution: Introduce a versioned stable tag
Renovate is capable of creating version bump PRs for Docker image tags that have a prefix. This solution will allow me to merge all Factorio update PRs from Renovate with confidence it will match the version of the game I have in Steam.
What does this change do?
Creates an additional Docker tag with the form
stable-<major>.<minor>.<patch>
A tag with a descriptor and a version is a common pattern. Example: Docker images published by LinuxServer.io https://github.com/linuxserver/docker-wireguard/pkgs/container/wireguard
Motivation
I want to ensure I'm always running the latest stable version of the Factorio server. I use Renovate to keep my containers up-to-date. Currently the highest version tag always points to the latest experimental version (which is sometimes the same as the latest stable version). This has caused me to upgrade to the experiment version by accident and corrupt my game data.
Other options to stay up-to-date require manual intervention:
Set image tag to
stable
andimagePullPolicy: always
This works if I frequently recreated the Docker container. In my environment the container is only recreated when I restart my computer, which is infrequent and sporadic enough that I'm not likely to always have the latest stable image.
Check which stable version is the latest and manually changing the tag
This is a manual process I'd rather avoid.
Use Renovate to look up the latest stable version to determine if it should be merged
This solution doesn't currently work because Renovate will pick up the latest version - without context if the version is a stable or expiermental build, I'd have to resort to manually checking which version is the latest stable version before I could merge any Renovate PRs.
Hence, this solution: Introduce a versioned
stable
tagRenovate is capable of creating version bump PRs for Docker image tags that have a prefix. This solution will allow me to merge all Factorio update PRs from Renovate with confidence it will match the version of the game I have in Steam.