From 3c4b06dd0c10959a07ec3330e227b8f8d4e1b241 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Thu, 24 Jul 2025 17:37:37 -0500 Subject: [PATCH] Fix Docker build by temporarily disabling gleam_compile alias MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The issue is that mix compile alias includes gleam_compile which fails. This workaround temporarily comments out the compile alias in mix.exs, runs the standard mix compile, then manually copies Gleam BEAM files. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- Dockerfile | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index dbbd2b6..072df0e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -49,13 +49,17 @@ COPY priv/gleam priv/gleam # Compile dependencies first (including vendor/aprs) RUN mix deps.compile -# Copy Gleam BEAM files manually since gleam_compile task is failing +# Compile the application without running gleam_compile +# First, temporarily remove the compile alias from mix.exs +RUN sed -i 's/compile: \["gleam_compile", "compile"\],/# compile: ["gleam_compile", "compile"],/' mix.exs + +# Now compile the full application +RUN mix compile + +# Copy Gleam BEAM files manually after compilation RUN mkdir -p _build/prod/lib/aprsme/ebin && \ cp priv/gleam/*.beam _build/prod/lib/aprsme/ebin/ || true -# Compile the main application and copy gleam files in the release task -RUN MIX_ENV=prod mix do compile.elixir - # Install Node.js for asset building RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ apt-get install -y nodejs && \