As already done with Hugo, I found a new challenge I want to write down.

The problem

I have got my Docker Compose Files defined in a Git Repo and deploy them via Forgejo Actions. One of these Compose projects sets up Firefly-III, so the Compose file looks something like this:

services:
    app:
        image: harbor.tech-tales.blog/docker-proxy/fireflyiii/core:version-6.2.9
# ...

Now I was a bit confused that Renovate did not update Firefly at the latest update, so I started troubleshooting.

How I found the problem

I ran renovate manually and with debug mode enabled on the repo. This gave me something like the following error code:

...fireflyiii/core:version-6.2.9 has unsupported/unversioned value version-6.2.9 ...

So as it turns out, Renovate cannot process this out of the box, as the tag is more than just the version.

My solution

After googling a lot (LLMs are not helpful in creating valid Renovate configurations!), I found the following solution:

{
    "packageRules": [
        {
            "matchManagers": ["docker-compose"],
            "matchDepNames": ["harbor.tech-tales.blog/docker-proxy/fireflyiii/core"],
            "versioning": "regex:^version-(?<major>\\d+)\\.(?<minor>\\d+)\\.?(?<patch>\\d*)$"
        }
    ]
}

This one exclusively matches the Firefly dependency. And as the version, it defines what the version is: First version-, and then the major, minor and patch version.

Caveat

In this setting, the Pull Request does not contain any release notes, so I have to get them in another way. I am not yet sure how I can fix that, but this is definitely something I still want to do in the future.

Conclusion

Renovate now correctly understands the dependency and is also able to update it. Sadly, it currently does not show release notes; I will have to check out how to add them again in the future.