FROM golang:1.26-alpine AS builder

WORKDIR /build

COPY go.mod ./

COPY index.html.tmpl main.go ./

RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o beam .

FROM alpine:latest

RUN apk add mailcap \
    && adduser -D -u 1000 beam \
    && mkdir /uploads \
    && chown beam /uploads

USER beam
WORKDIR /app

COPY --from=builder /build/index.html.tmpl /build/beam .

EXPOSE 8080

CMD ["./beam"]
