# Is launcher bootstrap / run repeatable?

**URL:** https://meta.discourse.org/t/is-launcher-bootstrap-run-repeatable/116282
**Category:** Self-hosting
**Tags:** hosting
**Created:** [April 29, 2019, 7:38pm UTC](https://meta.discourse.org/t/is-launcher-bootstrap-run-repeatable/116282 "2019-04-29T19:38:06Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![russellwstanley](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/russellwstanley/32/156979_2.png) [@russellwstanley](https://meta.discourse.org/u/russellwstanley)
#### Post date: [April 29, 2019, 7:38pm UTC](https://meta.discourse.org/t/is-launcher-bootstrap-run-repeatable/116282/1 "2019-04-29T19:38:06Z")

</div>

My question is:

If I have a checkout of discourse\_docker at revision A. and I run `launcher bootstrap web_only` followed by `launcher run web_only` at time T1 and then, at time T2 I run the exact same commands, will I get the exact same software running at T1 as T2?

ie. does the commit id of `discourse_docker` + whatever state is in the yaml files constitute the complete state that builds the running artifact?

I suspect that it is not because I seem to see Discourse pulling from git remotes during build and startup but I’d just like to check with the community.

Thanks in advance.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [April 29, 2019, 7:43pm UTC](https://meta.discourse.org/t/is-launcher-bootstrap-run-repeatable/116282/2 "2019-04-29T19:43:02Z")

</div>

It depends on what branch you are pulling. If it’s tests-passed, then you are likely to get a different version at every rebuild /bootstrap. You could or either a beta version or a commit id there to see that things stay the same.

If you want paid support to get your larger problem solved and have a budget, my contact info is in my profile.

---

<div class="post-metadata">

### Author: ![russellwstanley](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/russellwstanley/32/156979_2.png) [@russellwstanley](https://meta.discourse.org/u/russellwstanley)
#### Post date: [April 29, 2019, 7:56pm UTC](https://meta.discourse.org/t/is-launcher-bootstrap-run-repeatable/116282/3 "2019-04-29T19:56:39Z")

</div>

thanks @pfaffman . Quick clarification. By branch do you mean the branch of `discourse_docker` or is there another setting that can lock the main discourse to a certain branch? Just to be clear, in my example, I am not deliberately pulling new code for either `discourse_docker` or `discourse` . I’m getting the feeling that `discourse_docker` does either one, or both behind the scenes. Ideally I would want to disable this behaviour so I can get a repeatable build. Is this possible?

---

<div class="post-metadata">

### Author: ![schleifer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/schleifer/32/86416_2.png) [@schleifer](https://meta.discourse.org/u/schleifer)
#### Post date: [April 29, 2019, 8:00pm UTC](https://meta.discourse.org/t/is-launcher-bootstrap-run-repeatable/116282/4 "2019-04-29T20:00:02Z")

</div>

Launcher will pull the version of Discourse specified by the `params: version:` key in `web_only.yml`. As [described](https://github.com/discourse/discourse_docker/blob/303eb0309c12e2af3da57ee796c5f154c5a9bca7/samples/web_only.yml#L27) in that file, the default is `tests-passed`.

In addition, plugins will normally update unless you pin a version in their `git clone`.

---

<div class="post-metadata">

### Author: ![russellwstanley](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/russellwstanley/32/156979_2.png) [@russellwstanley](https://meta.discourse.org/u/russellwstanley)
#### Post date: [April 29, 2019, 8:02pm UTC](https://meta.discourse.org/t/is-launcher-bootstrap-run-repeatable/116282/5 "2019-04-29T20:02:10Z")

</div>

Ok thanks @schleifer . I’ll take a look at that setting.
