# Stable branch compatibility with discourse\_docker and plugins

**URL:** <https://meta.discourse.org/t/stable-branch-compatibility-with-discourse-docker-and-plugins/117679>\
**Category:** Self-hosting\
**Tags:** stable\
**Created:** [May 14, 2019, 10:54am UTC](https://meta.discourse.org/t/stable-branch-compatibility-with-discourse-docker-and-plugins/117679 "2019-05-14T10:54:51Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![spajus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spajus/32/141021_2.png) [@spajus](https://meta.discourse.org/u/spajus)\
**Post date:** [May 14, 2019, 10:54am UTC](https://meta.discourse.org/t/stable-branch-compatibility-with-discourse-docker-and-plugins/117679/1 "2019-05-14T10:54:51Z")

</div>

I would like to leave some feedback about operations experience from past several years when I occasionally look after one pretty small Discourse installation:

- Single self-hosted VM
- Discourse installed via official docker setup
- 3 Official plugins

Every time it comes to updating from an older version (3-9 months old), it’s always a nightmare. I have never had a smooth upgrade that wouldn’t take days of head scratching, reading source code and forums, trying unconventional backup restore strategies, etc. So far, I have encountered these issues, some of them multiple times:

- Backup cannot be restored (into same version of Discourse backup was made from).
- updated discourse\_docker incompatible with discourse, unable to rebuild
- Plugins randomly breaking after rebuild

Discourse is an ecosystem of main app, discourse\_docker and plugins, and yet neither discourse\_docker nor plugins have any tags in github, or versioning, that would say “Discourse version x.y.z will definitely work with discourse\_docker version x.y.z and plugins that have version x.y.z”.

Proposed solutions:

- Have CI setup that tests backup / restore for each release.
- Start versioning and tagging discourse\_docker and plugins in sync with discourse releases
- Have some CI to test interoperability of various ecosystem parts
- Have tests in plugins, and CI in pull requests
- Forbid committing directly to master without pull request reviews, so situations like this would not occur: [Add frozen string literal comment to files. · discourse/discourse-oauth2-basic@5a459fb · GitHub](https://github.com/discourse/discourse-oauth2-basic/commit/5a459fbb6e43f3853e10b07c116150722342feed)

When developing, please remember that not everyone is a discourse developer who is always using latest master branch from all discourse/\* repos. I hope this feedback proves to be useful.

---

_[View the full topic](https://meta.discourse.org/t/stable-branch-compatibility-with-discourse-docker-and-plugins/117679)._
