FROM null31/musl-cross-make:x86_64 AS builder

ARG GO_VERSION=1.23.0
ENV CGO_ENABLED=1 CC=x86_64-linux-musl-gcc GOOS=linux GOARCH=amd64 PATH=$PATH:/usr/local/go/bin

WORKDIR /app

RUN apt update && apt install -y curl && \
    curl -sSOL https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz && \
    tar -zxf go${GO_VERSION}.linux-amd64.tar.gz -C /usr/local

RUN --mount=type=bind,target=. go build -a -ldflags '-extldflags "-static"' -o /tmp/irc_bot

# build the final image
FROM alpine:3.20

WORKDIR /app

COPY --from=builder /tmp/irc_bot /app/

CMD ["./irc_bot"]
