This is an automated archive made by the Lemmit Bot.

The original was posted on /r/selfhosted by /u/Material-Bat-9440 on 2025-11-08 19:22:31+00:00.


Hey r/selfhosted!

It’s been a minute since I dropped Ticky (the Kanban app), and I’m back with something I built for myself because nothing else quite scratched the itch: PatchPanda.

If you run a bunch of Docker Compose stacks, you know the drill. Tools like Watchtower are cool, but they focus on pulling the latest image and just restarting, no questions asked. I don’t like blindly updating my apps, since, you know, don’t want to bork my setup, and setting up a solution with Renovate seemed needlessly complicated.

PatchPanda is my solution. It’s an update manager built around making updates automatic while keeping them informed.

So what’s actually different?

  • It actually reads the GitHub releases. It pulls repo info from your container labels, hits up GitHub, and gives you the actual release notes right in the UI. You get a heads-up on pre-releases and tries to detect breaking changes. No more blind updates.
  • It groups your apps smartly. If you have a web-app and a worker that go together, it treats them as a single application, so you can update them together in one click.
  • It respects your config. When you update, PatchPanda edits your existing docker compose or .env files to change the tag, then just runs the standard docker compose pull && docker compose up -d command. It doesn’t use some proprietary deployment method. You keep your files, you keep full control. If things go wrong, you can just manually roll back your file or change the tag back.

What can it do right now?

  • Discover running Docker Compose projects and list services and their current image tags.
  • Extract GitHub repository information from image labels / OCI annotations and query GitHub releases.
  • Builds regexes to match release tags and filter valid version candidates.
  • Determine whether a release contains any breaking changes.
  • Track discovered newer versions in a database and show release notes in the UI.
  • Group related services into multi-container apps (for example app-web + app-worker).
  • Send notifications to Discord about new versions (via webhook).
  • Enqueue and run updates: when you choose to update, PatchPanda edits compose/.env files and runs docker compose pull and docker compose up -d for the target stack. You can also view live log.
  • Support multiple release sources per app (primary and secondary repos) and merge release notes when appropriate.
  • Ability to ignore a specific version to not clutter the UI.
  • Update multiple applications at once.
  • Manually override the detected GitHub repo if it’s incorrect.

The future:

  • Automatic non-breaking updates: a future enhancement will be able to apply updates automatically when the new release is classified as non-breaking. This is currently not allowed due to the beta nature.
  • Ollama integration for additional security when detecting breaking changes.
  • Ability for non-technical users of your server to subscribe to updates from specific containers, which will be provided in a simple and understandable manner.

BETA

Look, PatchPanda is brand new.

  • Treat it like beta software. Expect rough edges and don’t use it on anything too critical without proper testing.
  • Always have a backup and a rollback plan.
  • It will not cover all edge cases well. Currently, before you let it do an update, check the plan it provides to you to make sure it is correct.

I built this and use it daily on my own stacks, but it’s ready to get into the hands of more people so we can make sure it covers more real-world setups. I would genuinely appreciate it if you check it out and let me know what you think!

GitHub Repo & Setup Details: https://github.com/dkorecko/PatchPanda (All the setup instructions are right in the README!)

If you dig the concept, drop a comment! I’m always looking for people who want to help shape where this thing goes.

Thanks, y’all! 🙏