# Completely automatic updates

**URL:** https://meta.discourse.org/t/completely-automatic-updates/33666
**Category:** Feature
**Created:** [September 23, 2015, 9:04pm UTC](https://meta.discourse.org/t/completely-automatic-updates/33666 "2015-09-23T21:04:31Z")
**Posts on this page:** 15
**Page:** 1

<div class="post-metadata">

### Author: ![dmills](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dmills/32/116439_2.png) [@dmills](https://meta.discourse.org/u/dmills)
#### Post date: [September 23, 2015, 9:04pm UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/1 "2015-09-23T21:04:31Z")

</div>

Hi guys,

Just wanted to put this out there: I’d like for Discourse to automatically update itself when a new version is avaialble.

The current two-click upgrade is impressive, but I really just blindly click the buttons, tab away to something else, and close it later without inspecting the output. I would benefit more from a completely automated process that emails me to report success or failure of the upgrade.

Bonus points if updates can be scheduled to happen within certain windows (so I can pick a time with low traffic and when I’d be awake to fix a failure). Extra bonus points if it can attempt rollback on failure to prevent downtime. For my purposes, though, these would be gravy and not necessary.

Dan

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [September 24, 2015, 1:40am UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/2 "2015-09-24T01:40:53Z")

</div>

That is the long term goal, but it may take a while to get there. In the meantime, hopefully clicking one button in a browser every month is not too onerous of an ask 😉

---

<div class="post-metadata">

### Author: ![dmills](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dmills/32/116439_2.png) [@dmills](https://meta.discourse.org/u/dmills)
#### Post date: [September 24, 2015, 2:02am UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/3 "2015-09-24T02:02:35Z")

</div>

Indeed it is not 😄

Glad to know it’s on the roadmap!

---

<div class="post-metadata">

### Author: ![JSey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jsey/32/3540_2.png) [@JSey](https://meta.discourse.org/u/JSey)
#### Post date: [September 24, 2015, 6:51am UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/4 "2015-09-24T06:51:28Z")

</div>

Here’s the big

# but:

please, please, _pretty_ please make this configurable. Sites with a considerable number of plugins are very prone of being offline if an update changes some interfacing logics. I need to test updates on my staging site before they go live. I’m totally happy with the easy updating, plus you get a nice email notifying you of new releases.

---

<div class="post-metadata">

### Author: ![omfg](https://avatars.discourse-cdn.com/v4/letter/o/5e9695/32.png) [@omfg](https://meta.discourse.org/u/omfg)
#### Post date: [September 24, 2015, 6:44pm UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/5 "2015-09-24T18:44:01Z")

</div>

> [@JSey](#):
>
> please, please, pretty please make this configurable.

I was going to say something like that, but slightly different, so I’ll still say it:

**but:**  
please, please, _pretty_ please disable this by default

I can see why some people might want to enable it, but for me it’s either “Disabled” or `chmod 600` on appropriate update scripts…

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [September 24, 2015, 9:57pm UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/6 "2015-09-24T21:57:18Z")

</div>

> [@omfg](#):
>
> please, please, pretty please disable this by default

we do not plan to add support for completely automatic updates in the foreseeable future, the process is too risky, you need to be around to troubleshoot if stuff goes wrong.

We may eventually get there, but not using current mechanism

---

<div class="post-metadata">

### Author: ![dmills](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dmills/32/116439_2.png) [@dmills](https://meta.discourse.org/u/dmills)
#### Post date: [September 24, 2015, 10:40pm UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/7 "2015-09-24T22:40:33Z")

</div>

> [@sam](#):
>
> you need to be around to troubleshoot if stuff goes wrong

Completely understand that this would be the case for many. But in my case, I’d likely just shut it down temporarily until I can spend some time to figure it out. I don’t care about uptime.

As for risk, you have complete control over the Docker environment, no? Seems like way more control than any desktop app gets 😄

Anyway - the click to upgrade process is fine. Just wanted to throw my $.02 out there.

---

<div class="post-metadata">

### Author: ![joao\_pimentel\_ferrei](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/joao_pimentel_ferrei/32/115365_2.png) [@joao\_pimentel\_ferrei](https://meta.discourse.org/u/joao_pimentel_ferrei)
#### Post date: [September 26, 2015, 10:07pm UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/8 "2015-09-26T22:07:32Z")

</div>

> [@codinghorror](#):
>
> That is the long term goal, but it may take a while to get there. In the meantime, hopefully clicking one button in a browser every month is not too onerous of an ask 😉

if someone wants to be really up-to-date I’d say that it’s more like every week 😊

---

<div class="post-metadata">

### Author: ![Raf](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/raf/32/122005_2.png) [@Raf](https://meta.discourse.org/u/Raf)
#### Post date: [February 1, 2016, 9:38am UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/9 "2016-02-01T09:38:58Z")

</div>

Hi Sam,

Our discourse was running a version or two behind and I could see the message saying it is out of date in the Dashboard. For some reason, today I noticed that it is up to date

 ![](https://global.discourse-cdn.com/meta/original/3X/a/9/a92e778ff15df78a68a64ca2f500202623fa0007.PNG)

I am very certain that I have not clicked the upgrade button in the Dashboard however I did a **./launcher rebuild app** because I had installed new SSL certificates and changed the hostname to use a CNAME. Not sure if the rebuild triggered the update. Just curious.

If the upgrade is not done by rebuild then is there anyway in the logs that I can find out how was the discourse upgraded?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [February 1, 2016, 10:06am UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/10 "2016-02-01T10:06:17Z")

</div>

> [@Raf](#):
>
> If the upgrade is not done by rebuild

This upgrade is absolutely 100% done by rebuild, that is what it does, get latest launcher from git, nukes old version, upgrades, spins up new versions

---

<div class="post-metadata">

### Author: ![Andrew\_Byrne](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/andrew_byrne/32/116413_2.png) [@Andrew\_Byrne](https://meta.discourse.org/u/Andrew_Byrne)
#### Post date: [March 25, 2016, 11:20am UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/11 "2016-03-25T11:20:35Z")

</div>

Wow, so is there a way to rebuild with out upgrade?  
I have added a plugin to a production and restarted and was a bit surprised to see a version update after.

Or can we add a plugin with out a rebuild app?

---

<div class="post-metadata">

### Author: ![lockwobr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lockwobr/32/82178_2.png) [@lockwobr](https://meta.discourse.org/u/lockwobr)
#### Post date: [November 13, 2017, 10:29pm UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/12 "2017-11-13T22:29:21Z")

</div>

@Andrew_Byrne You can update or add a plugin by getting into your docker container by using the `docker exec -it {containerid} /bin/bash` once you in cd to the plugins dir and you can do git commands here to update or add a new plugin. once you have done this you just need to restart the rails process that is running the app. Hope this helps you out.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [November 13, 2017, 11:09pm UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/13 "2017-11-13T23:09:39Z")

</div>

If I needed 100% automatic updates I would

1. split to a web + database containers
2. put web containers behind a load balancer
3. build a new web image, cycle it in once I am sure it is responding properly to 200s

This is very complicated to do in a safe way, hence it is not automatic .

Definately don’t be entering containers and changing config inside outside of our supported docker manager that works on a single host, single container setup.

---

<div class="post-metadata">

### Author: ![dax](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dax/32/244677_2.png) [@dax](https://meta.discourse.org/u/dax)
#### Post date: [June 27, 2018, 8:46am UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/14 "2018-06-27T08:46:11Z")

</div>

Now we have an “Upgrade All” button, so you can decide when to upgrade Discourse with just one click  
[https://github.com/discourse/docker\_manager/pull/44](https://github.com/discourse/docker_manager/pull/44)

---

<div class="post-metadata">

### Author: ![chapoi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapoi/32/537252_2.png) [@chapoi](https://meta.discourse.org/u/chapoi)
#### Post date: [December 4, 2025, 11:37am UTC](https://meta.discourse.org/t/completely-automatic-updates/33666/17 "2025-12-04T11:37:01Z")

</div>


