diff --git a/Dockerfile b/Dockerfile index c7c67347..1bd367f1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,6 +41,7 @@ ENV MIX_ENV="prod" # install mix dependencies COPY mix.exs mix.lock ./ +COPY vendor vendor RUN --mount=type=cache,target=/root/.hex \ --mount=type=cache,target=/root/.mix \ mix deps.get --only $MIX_ENV diff --git a/vendor/README.md b/vendor/README.md index 26e2c6a5..b9c96799 100644 --- a/vendor/README.md +++ b/vendor/README.md @@ -9,6 +9,17 @@ These dependencies are vendored to: - Ensure consistent builds without external dependencies - Enable offline development +## Docker Build + +**IMPORTANT**: The `vendor/` directory must be copied into the Docker build before running `mix deps.get`. + +In `Dockerfile`, ensure this order: +```dockerfile +COPY mix.exs mix.lock ./ +COPY vendor vendor # ← Must be before mix deps.get +RUN mix deps.get --only $MIX_ENV +``` + ## Vendored Packages ### Oban Pro