Fix Gleam module compilation in Docker build

- Add src directory to Dockerfile COPY commands
- Include gleam.toml in Docker build
- Add mix gleam.compile step before mix compile
- Fixes UndefinedFunctionError for :aprsme@encoding:sanitize_string/1

The Gleam source files weren't being included in the Docker build,
causing the encoding module to be missing at runtime.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Graham McIntire 2025-07-27 10:53:52 -05:00
parent 8b3e433e61
commit b244007d98
No known key found for this signature in database

View file

@ -24,7 +24,7 @@ RUN mix local.hex --force && \
ENV MIX_ENV=prod
# Install mix dependencies
COPY mix.exs mix.lock ./
COPY mix.exs mix.lock gleam.toml ./
COPY vendor vendor
RUN mix deps.get --only $MIX_ENV && \
mix deps.compile
@ -32,6 +32,7 @@ RUN mix deps.get --only $MIX_ENV && \
# Copy and compile application
COPY config config
COPY lib lib
COPY src src
COPY assets assets
COPY priv priv
COPY rel rel
@ -40,6 +41,7 @@ COPY rel rel
RUN cd vendor/aprs && mix compile && cd ../.. && \
mkdir -p _build/prod/lib/aprs/ebin && \
cp -r vendor/aprs/_build/prod/lib/aprs/ebin/* _build/prod/lib/aprs/ebin/ && \
mix gleam.compile && \
mix compile && \
mix assets.deploy && \
mix release