# Simultaneously providing AMO and self-hosted updates

**URL:** <https://discourse.mozilla.org/t/simultaneously-providing-amo-and-self-hosted-updates/24108>\
**Category:** addons.mozilla.org\
**Created:** [January 5, 2018, 9:54am UTC](https://discourse.mozilla.org/t/simultaneously-providing-amo-and-self-hosted-updates/24108 "2018-01-05T09:54:15Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![philandrop](https://avatars.discourse-cdn.com/v4/letter/p/8797f3/32.png) [@philandrop](https://discourse.mozilla.org/u/philandrop)\
**Post date:** [January 5, 2018, 9:54am UTC](https://discourse.mozilla.org/t/simultaneously-providing-amo-and-self-hosted-updates/24108/1 "2018-01-05T09:54:15Z")

</div>

When I upload a new version of my addon, I can choose whether I want to distribute the update via AMO or if I want to self-host it.

My question is about what happens with published updates when I am publishing a new update to an extension with the same id but via a different distribution option.

1. User installed extension from **AMO** -\> **AMO update** is published -\> User gets the update ✔
2. User installed extension from **AMO** -\> **self-hosted** update was published -\> _what happens?_ ❓
3. User installed **self-hosted** extension -\> **self-hosted** update was published -\> User gets the update ✔
4. User installed **self-hosted** extension -\> **AMO update** is published -\> _what happens?_ ❓

---

<div class="post-metadata">

**Author:** ![jorgev](https://avatars.discourse-cdn.com/v4/letter/j/71c47a/32.png) [@jorgev](https://discourse.mozilla.org/u/jorgev)\
**Post date:** [January 9, 2018, 5:52pm UTC](https://discourse.mozilla.org/t/simultaneously-providing-amo-and-self-hosted-updates/24108/2 "2018-01-09T17:52:25Z")

</div>

There’s some documentation about it here: [https://developer.mozilla.org/en-US/Add-ons/Distribution](https://developer.mozilla.org/en-US/Add-ons/Distribution)

If your self-hosted files have an [`update_url`](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/applications) defined in them, then it’s simple: AMO versions update to new AMO versions and self-hosted versions update to new self-hosted versions. You can update either channel whenever you want without affecting the other.

If you don’t include an `update_url` in a self-hosted version, then it will effectively work like an AMO version and check for updates on AMO. If it updates to an AMO version, then it will update only to AMO versions from then on.
