FROM alpine:3.20

# 1. Install system dependencies
RUN apk add --no-cache \
    erlang \
    erlang-dev \
    nodejs \
    npm \
    curl \
    git \
    gcc \
    g++ \
    make \
    bash

    RUN wget https://github.com/gleam-lang/gleam/releases/download/v1.14.0/gleam-v1.14.0-aarch64-unknown-linux-musl.tar.gz

    RUN wget https://github.com/gleam-lang/gleam/releases/download/v1.14.0/gleam-v1.14.0-aarch64-unknown-linux-musl.tar.gz.sha256
    RUN sha256sum -c gleam-v1.14.0-aarch64-unknown-linux-musl.tar.gz.sha256
    RUN tar xf gleam-v1.14.0-aarch64-unknown-linux-musl.tar.gz
    RUN mkdir -p /usr/local/bin \
        && mv /gleam /usr/local/bin/gleam \
        && chmod +x /usr/local/bin/gleam

        # Install ARM64 esbuild globally
    RUN npm install -g esbuild

    # Verify everything during image build
    RUN gleam --version \
        && node --version \
        && npm --version \
        && esbuild --version

WORKDIR /build

CMD ["gleam", "build"]
