Is it possible to disable Discourse updates?

I have a self-hosted installation with working plugins, but Discourse keeps updating automatically without permission, and just recently the forum broke because a plugin was no longer compatible.

Since my use case is already defined and I don’t actually need the new Discourse features, how do I disable updates so the plugins don’t break?

Discourse doesn’t update automatically. We don’t even have an automatic update feature.

Someone may be updating your forum? Or did you add a manual background job to do it on the host server?

That’s mind-blowing because I don’t have any plugins that perform automatic updates, and I can’t see anything in the app.yml file, but you already said that Discourse doesn’t have that feature.

Is there any method to retrieve the exact moment (date and time) when Discourse was last updated?

The date can be found at the bottom of /admin (if you’re on the old page).

Should see it like:

Maybe it’s somewhere else more detailed though… :thinking:

Okay, I see. It says the last update was 3 hours ago, and 3 hours ago I ran:

./launcher rebuild app

Does that command update Discourse? So how do I install plugins without updating Discourse?

Yes, that’s the main way to update Discourse.

You are either installing plugins or you are at

While it’s technically possible to pin Discourse to a specific version while installing plugins, this requires a very careful analysis of version compatibility, with many plugins assuming an up to date version of Discourse.

it’s technically possible to pin Discourse to a specific version while installing plugins

How do I do that?

this requires a very careful analysis of version compatibility, with many plugins assuming an up to date version of Discourse

The plugins are mine, I don’t want them to break, I already had a bad experience when Discourse changed the architecture or whatever. I wish the forum would follow Golang’s philosophy.

Have you considered switching to the ESR release instead of pinning a specific version? Then you would still receive the security fixes but only have to deal with other changes every 6 months.

That’s a start, but I’ll still wait for someone who can explain how to stay on a specific version.

I am not sure what exactly you are waiting for. The topic I linked already explains how to configure the version you want to install.

You said you don’t want the ESR version, but a specific one. But the same process applies whether you use a branch, tag, or a specific commit hash - you simply replace the value of version accordingly. You can also find some examples of that in the forum [1] [2]

:warning: I still recommend avoiding pinned commits in production, since you will not receive security updates or fixes unless you manually track them.

But those are revisions, basically, which branch I want to use. I’m saying to fix it at a version like 2026.6.0 and never update from that version. What you’re proposing keeps changing between versions, just on a different branch.

Doesn’t change if you pick a ref that doesn’t move:

But all the above caveats apply – this is not generally recommended.

Taking this approach (or following a specific release branch) means taking more responsibility for following when things go out of support and managing those risks accordingly.

I said you can put any version in there. Did you look at the examples I linked?

When do you expect a fixed commit hash like that to change?

Sorry my bad, I didn’t read that part. How do I find that long commit ID for my current installation?