BeaconCMS / BeaconCMS/beacon

Clarify ordering in Dockerfile for Fly deployments

Open
#766 0 comments 0 reactions 0 assignees View on GitHub
documentation
Dominant language
Elixir
Stars
1.3k
Forks
134
PR merge metrics
No merged PRs in 30d

Description

If the step
```
RUN mix esbuild.install --if-missing
```
comes before
```
RUN mix assets.deploy
```
then the app can fail to boot with an error like:
```
2025-02-14T18:37:34Z app[17815ee1c522d8] lhr [info]** (Beacon.LoaderError) esbuild binary not found or the installation is invalid.
2025-02-14T18:37:34Z app[17815ee1c522d8] lhr [info]Execute the following command to install the binary used to process JS:
2025-02-14T18:37:34Z app[17815ee1c522d8] lhr [info] mix esbuild.install
2025-02-14T18:37:34Z app[17815ee1c522d8] lhr [info] (beacon 0.4.0) lib/beacon/runtime_js.ex:188: Beacon.RuntimeJS.validate_esbuild_install!/0
2025-02-14T18:37:34Z app[17815ee1c522d8] lhr [info] (beacon 0.4.0) lib/beacon/runtime_js.ex:13: Beacon.RuntimeJS.build/1
2025-02-14T18:37:34Z app[17815ee1c522d8] lhr [info] (beacon 0.4.0) lib/beacon/runtime_js.ex:128: Beacon.RuntimeJS.load!/1
2025-02-14T18:37:34Z app[17815ee1c522d8] lhr [info] (beacon 0.4.0) lib/beacon/loader/worker.ex:397: Beacon.Loader.Worker.handle_call/3
2025-02-14T18:37:34Z app[17815ee1c522d8] lhr [info] (stdlib 6.2) gen_server.erl:2381: :gen_server.try_handle_call/4
2025-02-14T18:37:34Z app[17815ee1c522d8] lhr [info] (stdlib 6.2) gen_server.erl:2410: :gen_server.handle_msg/6
2025-02-14T18:37:34Z app[17815ee1c522d8] lhr [info] (stdlib 6.2) proc_lib.erl:329: :proc_lib.init_p_do_apply/3
```
We mention that the step should be after `RUN mix release` but it should also clarify that it should also be after `RUN mix assets.deploy`

Contributor guide

Open the contributing guide

Research direction

Locate the Dockerfile section for Fly deployments and read the instructions around `RUN mix release`, `RUN mix assets.deploy`, and `RUN mix esbuild.install --if-missing`. Clarify the ordering so the esbuild installation step follows both release and asset deployment, then verify the wording against the reported `lib/beacon/runtime_js.ex:188` error.

Written by the indexing model from the issue text.

Assessment

Tech stack
dockerfile, elixir
Domain
devops, documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.